$变量名
的形式定义(即注意以$
符号开头标识)
demo: <?php
$var = "大河之水天上来";
echo $var;
echo "<br />";
$var = "奔流到海不复还";
echo $var;
echo "<br />";
$a = "高堂明镜悲白发";
echo $a;
echo "<br />";
$a = "朝如青丝暮成雪";
echo $a;
?>
输出:
大河之水天上来
奔流到海不复还
高堂明镜悲白发
朝如青丝暮成雪
弱变量
的机制(变量的类型取决于所赋的变量值)
var_dump
函数可以将变量的数据类型显示出来:<?php
$var_name = "青莲";
$n = 3000;
$c = "1";
$f = 9.0;
$l = 300000000000000000;
$b = ture;
var_dump($var_name);
var_dump($n);
var_dump($c);
var_dump($f);
var_dump($l);
var_dump($b);
?>
输出:
string(6) "青莲"
int(3000)
string(1) "1"
float(9)
int(300000000000000000)
string(4) "ture"
_
开头,如$_name
,$name
,$name2
等,但是$9name
是不对的;$_qq
,$qq308
,$my_apple
,比如$name我
等,但是$name*
是不对的。_
进行分隔,即下划线法,
或者以大写字母开头比如 $myApple
,即驼峰命名法)。$my_book
与$my_Book
代表两个不同的变量。demo:
<?php
$my_book = "小写book";
$my_BOOK = "大写BOOK";
$Iam青莲居士 = "李白";
echo $my_book;
echo "<br />";
echo $my_BOOK;
echo "<br />";
echo $Iam青莲居士;
echo "<br />";
?>
memory_get_usage()
获取当前PHP消耗的内存
。demo:
<?php
echo $m1 = memory_get_usage();
echo "<br />";
$var_string = "123";
echo $m2 = memory_get_usage()-$m1;
echo "<br />";
$n = 123;
echo $m3 = memory_get_usage()-$m1-$m2;
echo "<br />";
$f = 123.00;
echo $m4 = memory_get_usage()-$m1-$m2-$m3;
echo "<br />";
$var_array = array("123");
echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4;
echo "<br />";
echo $m6 = memory_get_usage();
?>
运行结果:
625656
360
288
288
632
627368
由结果可见: 初始化消耗了624056, 字符串消耗328, 整型和浮点型都是288, 数组消耗632;
注意:根据操作系统、PHP版本以及PHP的运行方式可能输出结果会不同。
标量类型
:boolean(布尔型),integer(整型),float(浮点型)和string(字符串型)
;
2种复合类型
:array(数组)和object(对象)
;
2种特殊类型
,resource(资源)与空值(null)
;
PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为变量值对应的数据类型;demo:
<?php
$string = "诗酒剑仙";
var_dump($string);
echo "<br />";
$string = 3000;
var_dump($string);
echo "<br />";
?>
运行结果:
string(12) "诗酒剑仙"
int(3000)
由结果可见
变量$string
的数据类型随赋值的变化而变化。
布尔类型(boolean)
:
echo
指令输出布尔类型
时,
如果是true
则输出的是1
,
false
则什么也不输出
。var_dump()
,查看其数据类型。<?php
$man = "男";
$flag = $man == "男";
echo $flag ;
echo "<br />" ;
var_dump($flag);
?>
运行结果:
1
bool(true)
demo:
<?php
$data_int1 = 123;
echo $data_int1;
echo "<br />";
$data_int2 = -123;
echo $data_int2;
echo "<br />";
$data_int3 = 0123;
echo $data_int3;
echo "<br />";
$data_int4 = 0x123;
echo $data_int4;
echo "<br />";
?>
运行结果:
123
-123
83
291
八进制的“0123;”等于10进制中的83, 十六进制的“0x123;”等于10进制的291。
也就是小数,可以用小数点
或者科学计数法
表示。
科学计数法
可以使用小写的e
,也可以使用大写的E
。
demo:
<?php
$num_float1 = 1.234; //小数点
echo $num_float1;
echo "<br />";
$num_float2 = 1.2e3; //科学计数法,小写e
echo $num_float2;
echo "<br />";
$num_float3 = 7.0E-3; //科学计数法,大写E
echo $num_float3;
echo "<br />";
?>
运行结果:
1.234
1200
0.007
a. 在单引号
中嵌入双引号
;
b. 在双引号
中嵌入单引号
;
c. 使用转义符\
;
demo:
<?php
$str_string1 = '"向晚意不适,"';//单引号中嵌入双引号
$str_string2 = "'驱车登古原。'";//双引号中嵌入单引号
$str_string3 = '\'夕阳无限好,\'';//转义符
$str_string4 = "\"只是近黄昏。\"";
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>
输出结果:
"向晚意不适,"
'驱车登古原。'
'夕阳无限好,'
"只是近黄昏。"
美元符号标识符
:当双引号中
包含变量时,变量所指向的内容
会与双引号中
的其他内容
连接成一个字符串输出;
当单引号中
包含变量时,变量
会被连同$
被当做普通字符串
输出。
demo:
<?php
$love = "俱怀逸兴壮思飞!";
$string1 = "$love ,欲上青天揽明月!";
$string2 = '$love ,欲上青天揽明月!';
echo $string1;
echo "<br />";
echo $string2;
?>
运行结果:
俱怀逸兴壮思飞! ,欲上青天揽明月!
$love ,欲上青天揽明月!
Heredoc结构形式
解决;
a. 首先使用定界符(<<<)
表示字符串;
b. 接着在<<<
之后提供一个标识符
(标识符
可以自己随意定制一个特定的字符串
,如待会儿例子中的LiTaiBai
);
c. 然后编写长段字符串
;
d. 最后以提供/定制的这个标识符结束字符串。
e. 首位的标识符必须是一样的;
f. 在结尾的一行一定要另起一行,并且此行除了标识符
,并以;
号结束之外,不能有任何其他字符,
前后
都不能有,空格
也不行!否则会出现错误
!demo:
<?php
$string1 = <<<LiTaiBai
弃我去者,昨日之日不可留;
乱我心者,今日之日多烦忧。
长风万里送秋雁,对此可以酣高楼。
蓬莱文章建安骨,中间小谢又清发。
俱怀逸兴壮思飞,欲上青天览明月。
抽刀断水水更流,举杯消愁愁更愁。
人生在世不称意,明朝散发弄扁舟。
LiTaiBai;
echo $string1;
?>
输出结果:
弃我去者,昨日之日不可留;
乱我心者,今日之日多烦忧。
长风万里送秋雁,对此可以酣高楼。
蓬莱文章建安骨,中间小谢又清发。
俱怀逸兴壮思飞,欲上青天览明月。
抽刀断水水更流,举杯消愁愁更愁。
人生在世不称意,明朝散发弄扁舟。
专门的函数
来建立和使用
的,例如打开文件、数据连接、图形画布
。释放
;释放资源
,系统自动启用垃圾回收机制
,在页面执行完毕后回收资源
,以避免内存被消耗殆尽
。demo:
<?php
$file=fopen("f.txt","r"); //打开文件
$con=mysql_connect("localhost","root","root"); //连接数据库
$img=imagecreate(100,100);//图形画布
?>
下面是读取一个服务器文件
的参考模板:
<?php
//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
$file_handle = fopen("/data/webroot/ressource/php/f.txt","r");
if ($file_handle){
//接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字
while (!feof($file_handle)) { //判断是否到最后一行
$line = fgets($file_handle); //读取一行文本
echo $line; //输出一行文本
echo "<br />"; //换行
}
}
fclose($file_handle);//关闭文件
?>
空类型
,对大小写不敏感
;
NULL类型只有一个取值
,表示一个变量没有值
;以下三种
情况下变量便被认为是NULL/空值:
被赋值为NULL
;尚未
被赋值
;unset()(注销变量的定义)
;demo:
<?php
error_reporting(0); //禁止显示PHP警告提示
$var;
var_dump($var);
$var1 = null;
var_dump($var1);
$var2 = NULL;
var_dump( $var2);
$var3 = "节日快乐!";
unset($var3);//变量“$var3”被注销定义
var_dump($var3);
?>
运行结果:
NULL
NULL
NULL
NULL