PHP基础
1. php打印结果
序号 | 指令 | 描述 |
---|---|---|
1 | echo |
语言结构, 可查看多个变量 |
2 | print |
语言结构,功能与echo 类似,区别是有返回值 |
3 | print_r() |
函数,以更容易理解的格式打印变量信息,常用于数组 |
4 | var_dump() |
函数,可查看一个变量更多信息,如类型 |
5 | var_export() |
函数,输出或返回一个变量的字符串表示(源代码) |
实际工作中,
echo
和var_dump()
基本可以满足大多数需求;
<?php
# 直接打印结果
echo '我爱php';
# 不直接打印,返回字符串(后面的true参数)
echo print_r(['张三', '李四'], true);
?>
2. 变量
2.1 变量命名规范
- php中, 变量名区分大小写(注意, 函数不区分大小写)
- php中, 正确的变量名必须使用$作为起始符号
- php中, 变量名不能以数字开始
- php中, 变量名中不能有特殊符号
- php有效标识符: 必须由以下3种字符组成: 大小写英文字母, 下划线, 数字. 且不能以数字开始.
变量命名示例:
<?php
// php的变量
# 变量命名
## php中, 变量名区分大小写(注意, 函数不区分大小写)
$username = 'admin';
$userName = 'peter';
echo $username, '<br>', $userName, '<br>';
## php中, 正确的变量必须使用$作为起始符号
// hello = 'php'; // 这是错误的
## php中, 变量名不能以数字开始
// 123abc = 'php';
## php中, 变量名中不能有特殊符号
//$user@id = 100;
## php有效标识符: 必须由以下3种字符组成: 大小写英文字母, 下划线, 数字. 且不能以数字开始.
2.2 传统php变量是弱类型
- php的变量类型是随值变化而变化的, 值是什么类型, 变量就是什么类型.
$var = 100;
var_dump($var);
$var = "hello";
var_dump($var);
2.3 变量数据的传递方式
- 值传递:相当于声明两个变量,只是这两个变量的值相等而已。
- 引用传递:相当于两个标签指向同一个值。
- 所有复合类型(如, 数组, 对象, 文件等)都是引用
变量值传递示例:
<?php
# 变量数据的传递方式
## 1.值传递
$price1 = 99;
$price2 = $price1;
echo 'price1 = ', $price1, '; price2 = ', $price2, '<br>';
/* 修改$price1的值, 但$price2的值不变 */
$price1 = 100;
echo 'price1 = ', $price1, '; price2 = ', $price2;
echo '<hr>';
## 2.引用传递
$price1 = 99;
// 引用方式赋值. 其中: &叫取地址符.
$price2 = &$price1;
echo 'price1 = ', $price1, '; price2 = ', $price2, '<br>';
/* 修改$price1的值, 但$price2的值会跟着变 */
$price1 = 100;
echo 'price1 = ', $price1, '; price2 = ', $price2;
2.3 可变变量
- 个人理解,就是可以通过值为另一个变量名的变量,获取另一个变量的值。
可变变量示例:
# 动态输出学生姓名
$stu1 = '张三';
$stu2 = '李四';
$stu = 'stu1';
// 会输出“张三”
echo $$stu . '<br>';
$stu = 'stu2';
// 会输出“李四”;
echo $$ stu . '<br>';
# N层嵌套
$a1 = 'hello, php!';
$a2 = 'a1';
$a3 = 'a2';
$a4 = 'a3';
echo $$$$a4 . '<br>';
2.4 检测与删除变量
- 使用isset()函数判断某个变量是否已定义
- 使用unset()函数删除/销毁某个已定义的变量
- 已定义但未初始化的变量,它的初始值为NULL。用is_null()判断
- 空值, 如:null值, 空字符串””, 空数组[], 用empty()判断
相关示例:
<?php
function check($param) {
if(isset($param)) {
echo '已定义,值为:' . $param;
} else {
echo '未定义';
}
echo '<br>';
}
# 检测变量
$stu1 = '张三';
check($stu1);
check($stu2);
# 删除/销毁变量
$stu = '张三';
check($stu);
unset($stu);
check($stu);
# 判断NULL值
$param;
if(is_null($param)) {
echo '$param的值为NULL<br>';
}
# 判断空值
function check1($param) {
if(empty($param)) {
echo '该变量的值是空值<br>';
}
}
$param1;
check1($param1);
$param1 = '';
check1($param1);
$param1 = [];
check1($param1);
2.5 php中的数据类型
1. 基本类型
- 字符串(string)
- 数值类型(int, float),int为整数;float为小数
- 布尔类型(boolean)
基本类型示例:
// 字符串(string)
$name = 'grantkai';
// 数值类型(int, float)
$price = 999;
$pi = 3.1415926
// 布尔类型(boolean)
$is5G = true;
2. 复合类型(将基本类型进行整合)
- 对象
- 数组
复合类型示例:
// 对象
$obj = new stdClass;
$obj->email = 'admin@php.cn';
echo $obj->email, '<br>';
// 数组
$arr = ['computer', 8000, '华为'];
echo '<pre>';
var_dump($arr);
echo '</pre>';
3. 特殊类型
- null值
- 资源类型,如:文件等
// null值
$num = null;
var_dump($num);
echo '<br>';
// 资源类型, 如: 文件等
$f = fopen('demo7.php', 'r');
var_dump($f);
echo '<br>';
// 判断文件类型
if (gettype($f) === 'resource') {
echo 'demo7.php是一个文件';
}
echo "<br>";
## tips: 获取变量的数据类型
echo gettype($f);
tips: 使用gettype()函数获取变量的类型名称
学习心得
- 打印输出,一般是指把变量值带格式/不带格式的输出到浏览器中
- 变量就是一个标签,可以指向不同的值,当它指向某个值时,可以在不同地方使用标签来获取这个值。当它不指向任何值时,相当于指向一个叫NULL的值。当它指向NULL值、””空字符串、[]空数组时,都称为指向空值。
- 变量的值分基本类型(字符串、数字和布尔)、特殊类型(NULL值,资源类型)和复合类型(对象、数组)三种。