Heim > 类库下载 > PHP类库 > Hauptteil

PHP变量

高洛峰
Freigeben: 2016-10-09 12:43:59
Original
1275 Leute haben es durchsucht

变量的声明

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 "变量不存在!";
}
?>
Nach dem Login kopieren

可变变量

可变变量的意思是一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,然后可变变量获取这个普通变量的值作为这个可变变量的变量名,可变变量声明是以$$开头。

Demo

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

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

变量的引用赋值

PHP的引用就是在变量或者函数、对象等前面加上&符号。它其实相当于变量的一个别名,改变其中任意一个变量的值,另一个变量的值就会随之改变。但是它也不像C语言中的变量引用赋值那样,如果我用unset()函数销毁其中任意一个变量,另一个变量依旧存在。

Demo

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

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

unset($a);

//将会打印world
echo $b;
?>
Nach dem Login kopieren

变量的类型

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" }
?>
Nach dem Login kopieren

资源类型

资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

Demo

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

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

NULL类型

在PHP中被认为为NULL类型的有三种情况

将变量直接赋值为NULL

声明的变量未被赋值

被unset()函数销毁的变量

伪类型

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()判断是否是有效函数

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!