名称 | 写法 |
---|---|
起止标签 | <?php ... ?> |
分隔符 | ; |
单行注释 | // |
多行注释 | /* ... */ |
变量表示示例:$user
,表示声明user变量;
函数示例:
function getAge($name, int $age)
{
return '我的名字叫:' . $name . '<br>' . '今年' . $age . '岁。';
}
// 打印输出
$name = '小刚';
$age = 18;
// echo:回显,效率最高,没有返回值,可以打印多个字符串用","分开
echo 'echo打印的:' . $name, '一个男孩';
// 如果有html标签可以打印到浏览器直接执行
// 凡是在html页面上交互的都是字符串
echo '<h1 style="color:blue">' . $name . '</h1>';
// print只能打印单个字符串,返回1
print 'print打印的:' . $name . $age . '岁<br>';
echo print $name;
echo '<hr>';
// 查看输出的变量类型
echo gettype($name) . '<br>';
// 打印变量完整信息
var_dump($name);
var_dump(100);
echo '<br>';
// 返回变量源代码表示
var_export($name);
var_export(100);
- 临时存储数据的容器;
- 实现数据复用的手段。
<?php
// 命名
$newname = '小刚';
$newName = '大刚';
// 变量区分大小写
echo $newname;
echo '<br>';
echo $newName;
echo '<br>';
// 函数不区分大小写
echo strtoupper($newname);
echo STRTOUPPER($newname);
echo '<br>';
// 变量名必须以“$”开始,标识符不允许数字开始,不允许使用特殊字符,允许“_”开始
// $2name = 1;
// $2#name = 2;
$_name = '小刚';
// 变量名可以用中文,但不推荐
$名字 = '大刚';
// 不要用无意义变量名,要做到望文生义
$aaa55ss = 22;
echo $_name . $名字 . $aaa55ss . '<hr>';
// 变量的动态:变量的值可以随值而变化
$name = 222;
echo $name . '<br>';
var_dump($name);
$name = '小刚';
echo $name . '<br>';
var_dump($name);
echo '<hr>';
// 变量的有值传递与引用传递
// 有值传递
$name1 = '小刚';
$name2 = $name1;
$name2 = '大刚';
// 有值传递的变量相互独立不同步
echo $name1 . '<hr>';
// 引用传递
$name1 = '超人';
// 右值前加“$”,$name1与$name2同步更新
// 当前$name2中保存的并不是'超人',而是$name1变量在内存中的地址[0x123abc] = '超人'
$name2 = &$name1;
$name2 = '蝙蝠侠';
echo $name1;
echo '<hr>';
// 可变变量
$name = 'newname';
$$name = '大刚';
echo $newname;
isset()
:判断是否定义或null,结果为布尔值;
unset()
:删除变量,无返回值;
empty()
:判断是否为空,常用于表单验证。
示例:
<?php
// echo $name;
// 变量检测
// isset():变量存在且值不为null时结果为true;unset():删除变量,没有返回值;
echo isset($name) ? '已定义' : '未定义';
echo '<br>';
// 判断变量值是否为空empty(),常用于验证表单数据
$name = '';
echo empty($name) ? '空' : '非空';
基本类型:标量,单值;
复合类型:多值;
特殊类型:null、文件资源。
示例:
<?php
// 基本类型:字符串、数值、布尔
$name = '小刚';
$age = 18;
$isBird = false;
// 复合类型:对象、数组。
// 对象,stdClass是php内置对象。
$student = new stdClass;
$student->name = '小刚';
echo $student->name . '<br>';
// 数组
$array = ['同学', '小刚', 18];
// print_r()一人性化的方式打印变量,true表示不直接打印,而返回
print_r($array);
echo '<br>';
echo print_r($array, true);
echo '<pre>' . print_r($array, true) . '</pre>';
// 特殊类型
// null
$num = null;
var_dump($num);
echo '<br>';
// 文件资源
$file = fopen('1.php', 'r');
var_dump($file);
echo '<br>';
// 获取类型:gettype(),设置类型:settype()
echo gettype($file);
echo settype($num, 'int');
示例:
<?php
// 变量类型转换
$a = null;
$b = true;
$c = false;
$d = '5g';
$e = 'php';
$f = 15;
// 自动转换
// 结果为15,null自动转换为0
echo $a + $f, '<br>';
// 结果为5,$d字符串中的数字自动转为整数
echo $a + $d, '<br>';
// 报错,但其中的5还是被输出了
echo $d + $e, '<br>';
// 布尔值被转为1、0
echo $b + $e, '<br>';
echo $c + $e, '<br>';
// 连接字符“.”自动转换字符串
echo $d . $e . '<br>';
// 强制转换
// 没有警告
echo (int) $e + $f, '<br>';
// 用函数来实现,原始类型没有改变
echo intval($e) + $f, '<br>';
echo strval($f) . '小刚' . '<br>';
// 永久转换类型
settype($f, 'string');
echo gettype($f);