搜尋

PHP變數

Oct 09, 2016 pm 12:43 PM
php變數

變數的宣告

PHP變數宣告必須是$(美元符號)+變數名稱命名,同時在=(賦值運算子)後進行賦值

宣告後的變數不是僅可以在一個使用,它還可以在當前頁面所有開啟使用,包括include和require引入的文件,當然在函數中是局部變量,另當別論

在使用該變量之前,我們通常使用isset()和empty()兩個函數, isset()是檢查變數是否設置,empty()則是檢查變數是否為空,unset()則是釋放變量,在這裡推薦使用!empty()存在且不能為空

php變數的命名大小寫區分,且不能是關鍵字

Demo

<?php
//声明变量a
$a="hello world";
?>
<?php 
//判断变量a是否存在,如果存在,就打印,echo为打印函数
if(!empty($a)){
    echo "变量存在";
    echo $a;
}

//销毁变量a
unset($a);

if(empty($a)){
    echo "变量不存在!";
}
?>

可變變數

可變變數的意思是一個變數的變數名稱可以動態的設定和使用。一個普通的變數透過宣告來設置,然後可變變數取得這個普通變數的值作為這個可變變數的變數名,可變變數宣告是以$$開頭。

Demo

<?php
//声明变量$a
$a="hello";
//声明可变变量$$a
$$a="world";

//将会全部打印"hello world"
echo "$a $hello";
echo "$a ${$a}"
?>

變數的引用賦值

PHP的引用就是在變數或函數、物件等前面加上&符號。它其實相當於變數的一個別名,改變其中任一個變數的值,另一個變數的值就會跟著改變。但是它也不像C語言中的變量引用賦值那樣,如果我用unset()函數銷毀其中任意一個變量,另一個變量依舊存在。

Demo

<?php
//声明变量$a
$a="hello";
//声明变量$b
$b=&$a;

$b="world";
//将会打印"word world"
echo "$a $b";

unset($a);

//将会打印world
echo $b;
?>

變數的型別

PHP支援八種原始型別。具體的分為四種標量類型:string(字串)、integer(整數)、float(浮點型,還有更高精度的double)和boolean(布林型),兩種複合類型: array(數組)和object(物件),兩種特殊類型resource(資源)和NULL。數組和物件的聲明可以參考Demo中的格式。這裡的陣列我們用array()來構建,它的參數是按照key=>value格式用逗號隔開的。

Demo

<?php
$bool=true;
$str="hello";
$int=123;
$float=1.2e3;//相当于1.2乘以10的三次方
$arr=array("key1"=>12,"key2"=>true);

//声明对象类型
class Person{
    var $name;
    function say(){
        echo "I am happy";
    }
}

$p=new Person();
$p->name="Tom";
$p->say();

//var_dump()直接输出变量类型
var_dump($bool);
var_dump($str);
var_dump($int);
var_dump($float);
var_dump($arr);
var_dump($p);

//输出结果为 
//I am happy
//bool(true) string(5) "hello" int(123) float(1200) 
//array(2) { ["key1"]=> int(12) ["key2"]=> bool(true) } 
//object(Person)#1 (1) { ["name"]=> string(3) "Tom" }
?>

資源類型

資源是一種特殊變量,保存了到外部資源的一個引用。資源是透過專門的函數來建立和使用的。由於資源類型變數保存有為開啟檔案、資料庫連線、圖形畫布區域等的特殊句柄,因此將其它類型的值轉換為資源沒有意義。

Demo

<?php
//以写的方式打开本目录下的1.txt文件
$file=fopen("1.txt","w");

//连接本地数据库
$mysql=mysql_connect("localhost","root","root");
?>

NULL類型

在PHP中被認為為NULL類型的有三種情況

將變數直接賦值為NULL

聲明的變數未被賦值

被稱為函數

偽型別

PHP偽型有三種,分別是:mixed混合型別、number數位型別、callback回呼型別。

mixed說明一個參數可以接受多種不同的類型,但並不是所有的類型,例如str_replace()可以接受字串和數組,gettype()可以接受任何類型。

number參數可以接受integer整數和float浮點型。

callback回呼類型是諸如call_user_func()函數就可接收使用者自訂的函數作為一個參數。 callback函數不但可以是一個函數,也可以是一個物件的方法,靜態類別的方法也可以。一個php函數用函數名稱字串來傳遞,可以傳遞任何內建的或使用者自訂的函數,除了例如array(),echo(),empty(),eval(),exit(),isset(),list (),print(),unset()等這些內建函數。

自動型別轉換

這種轉換通常發生在不同類型混合運算時,它遵循以下原則

如果是布林類型,將true變成1,false變成0

如果是null,將會變成數值0

如果是float和int混合運算,轉換成float型別

如果是字串,則提取字串中的數字,例如"123.45abc"變成123.45,若沒有數字,則是0

強制類型轉換

PHP 中的類型強制轉換和C 中的非常像:在要轉換的變數之前加上用括號括起來的目標類型。允許的強制轉換有:

(int),(integer) - 轉換成整數

(bool),(boolean) - 轉換成布林型

(float),(double),(real) - 轉換成浮點型

(string) - 轉換成字串

(array) - 轉換成陣列

(object) - 轉換成物件

同時,在使用中我們可以透過一些函數判斷變數類型。判斷變數類型常用的函數主要有下列幾個:
gettype()傳回變數型別、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object( )、is_resource()、is_string()和is_callable()判斷是否為有效函數

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具