PHP 基础
PHP 文档结构
<?php
//php文档的开头
//单行注释
/*
多行注释
*/
//每条语句以 ; 结束
//php文档的结尾 纯php文件可以不写
?>
PHP 输出操作
<?php
$name = 'simaqingshan';
//1. echo 没有返回值,可以打印多个变量,直接显示,支持输出多种格式(变量、常量、html标签等)
echo 'echo: '.$name,'<br>';
//2. print 有返回值 且始终返回1 只能打印单个变量
echo 'print返回值: '.print 'print: '.$name.'<br>';
echo '<br>';
//3. 输出变量的类型gettype();
echo '变量类型: '.gettype($name).'<br>';
//4. 获取变量的完整信息var_dump();
echo 'var_dump(): ';
var_dump($name);
echo '<br>';
//5. 输出变量的字符串表示
echo '变量$name的字符串表示:'.var_export($name,true);
PHP 变量
- 变量是临时存储数据的容器
- 变量是实现数据复用的手段
PHP 变量的命名
- 变量以\$符开头,其后是变量的名称。
- 变量名称必须以字母或下划线开头且不能以数字开头。
- 变量名称只能包含字母数字字符和下划线(A-z 、0-9 以及_)
- 变量名最好起的有意义 能做到望文生义
<?php
//1. 变量区分大小写
$name = 'user';
$Name = 'admin';
echo $name.'<br>'.$Name.'<br>';
//2. 函数不区分大小写
echo strtoupper($name).'<br>';
echo STRTOupper($name).'<br>';
PHP 变量的类型变化
- 变量的类型可以随值而变化,也叫变量的动态
- 赋值可以不用考虑变量类型
<?php
$var = 'aaa';
echo gettype($var).'<br>';
$var = 100;
echo gettype($var).'<br>';
PHP 变量的赋值
- 分成两种方式
- 值传递
- 引用
<?php
//1. 值传递 两个变量不能同步更新
$var1 = 100;
$var2 = $var1;
echo '$var1:'.$var1.' '.'$var2:'.$var2.'<br>';
$var1 = 111;
echo '$var1:'.$var1.' '.'$var2:'.$var2.'<br>';
//2. 引用传递 两个变量同步更新
$var2 = &$var1;
echo '$var1:'.$var1.' '.'$var2:'.$var2.'<br>';
$var1 = 222;
echo '$var1:'.$var1.' '.'$var2:'.$var2.'<br>';
PHP 变量名的动态创建
- 可以用一个变量的值创建成一个新的变量名 即可变变量
<?php
$name = 'userName';
//动态创建出$userName的变量 赋值成为simaqingshan
$$name = 'simaqingshan';
echo '$name: '.$name.'<br>';
echo '$$name: '.$$name.'<br>';
echo '$userName: '.$userName.'<br>';
PHP 变量的检测与删除
- isset():如果该变量存在且值不为 null 则返回 true 即变量存在
- unset():删除变量 没有返回值
- empty():检测一个变量是否为空
<?php
$name = 'userName';
//输出变量存在的返回值1
echo isset($name).'<br>';
unset($name);
//无返回值输出
echo isset($name).'<br>';
//变量为空 输出1
echo empty($name).'<br>';
PHP 数据类型
- 分成基本类型 复合类型 特殊类型
- 基本类型
- 字符串类型 string
- 数值类型 int
- bool 类型 bool
- 复合类型
- 对象类型 object
- 数组类型 array
- 特殊类型
- null 类型 NULL
- 文件句柄 文件资源类型 resource
<?php
//1. 基本类型
$str = 'string';
$num = 100;
$bool = false;
echo var_dump($str).'<br>';
echo var_dump($num).'<br>';
echo var_dump($bool).'<br>';
//2. 复合类型
$obj = new stdClass;
$obj->name = 'sima';
$arr = ['sima',18,180];
echo var_dump($obj).'<br>';
echo var_dump($arr).'<br>';
//3. 特殊类型
$nul = null;
$file = fopen('zy.php','r');
echo var_dump($nul).'<br>';
echo var_dump($file).'<br>';
PHP 变量运算时类型转换
PHP 自动进行类型转换
- 不同类型的数据进行运算处理时会将类型进行转换
- null false 在算术运算中自动转为 0
- true 在算术运算中转为 1
PHP 强制转换
- (int)强制转为整数
- intval():强制转为整数
- strval():强制转为字符串
- settype():永久转换 可以转换成任意类型
<?php
//1. 自动类型转化
$nul = null;
$true = true;
$false = false;
echo 10+$nul+$true+$false;
echo '<br>';
//2. 强制类型转换
$str = 'he';
echo gettype((int)$str).'<br>';
echo gettype(intval($str)).'<br>';
echo gettype(strval($true)).'<br>';
settype($true, 'string');
echo gettype($true).'<br>';