PHP是编译型语言
编译语言和解释语言的区别在于是否保存最终的可执行程序。
PHP定界符
因为PHP是脚本语言,所以需要定界符
1、标准风格(推荐使用)
<?php
?>
例题
<?php
echo 'i am a boy!';
?>
提醒,如果整个页面都是PHP代码,PHP结束符是可以省略的(推荐)
<?php
echo 'i am a boy!';
2、短标记风格(默认情况下不支持,需要在php配置文件中开启支持段标记)
<?
?>
例题:
<?
echo '锄禾日当午';
?>
小结:
httpd.conf是apache的配置文件
php.ini是php的配置文件
PHP输出语句
echo:输出
print:输出,输出成功返回1
print_r():输出数组
var_dump():输出数据的详细信息,带有数据类型和数据长度
<?php
var_dump('abc'); //string(3) "abc"
?>
变量
变量的本质就是内存中的一段空间
变量的命名规则
- 变量必须以符不是变量的一部分,仅表示后面的标识符是变量名。
- 除了$以外,以字母、下划线开头,后面跟着数字、字母、下划线
- 变量名区分大小写,Aa是两个空间
下列变量是否合法
$a 合法
$a1 合法
$1a 不合法
$_1a 合法
注意:PHP语句必须以分号结尾
<?php
$a=10;
$name='Tom';
?>
可变变量
变量名可以变,将变量名存储在另外一个变量中
例题
<?php
$a=10;
$b='a';
echo $b; //10
例题
<?php
$name1='tom';
$name2='berry';
if(rand(1,10)%2){
$name='name1'; //将变量名存储在$name中
}else{
$name='name2';
}
echo $name;
小结:
1、rand(1,10):获取1-10的随机整数
变量传递
变量的传递有值传递和地址传递(引用传递)
<?php
//值传递
$num1=10; //将10付给$num1
$num2=$num1; //将$num1的值付给$num2
$num2=20; //更改$num2
echo $num1; //10
//地址传递
$num1=10; //将10付给$num1
$num2=&$num1; //将$num1的地址付给$num2
$num2=20; //更改$num2
echo $num1; //20
小结:
1、参数的传递有两种,值传递和地址传递
2、&表示获取变量的地址
3、值传递中,一个变量变了,另一个变量没有影响,因为是两个空间
4、地址传递中,一个变量变了,另一个也变了,因为两个变量指向同一个空间
销毁变量
用unset()来销毁变量,销毁的是变量名,变量值由PHP垃圾回收机制销毁
<?php
$num1=10;
$num2=&$num1;
unset($num1); //销毁的是变量名
echo $num2; //10
没有变量引用的值是垃圾