php的打印输出
1. echo输出
echo 回显,现率最高,但是没有返回值
echo 打印多个变量 echo 变量1,变量2
echo 可以输出html标签
例:
$email = 'admin@qq.com';
$emails = 'admin@qq.com';
echo $email;
echo $emails;
// echo输出html标签 .是连接符
echo '<span style="color:red">'.$email.'</span>';
2. print输出(打印数据)
print只能打印一个变量
print打印输出变量有返回值
例:
// print打印变量
$email = 'admin@qq.com';
print($email);
3. echo和print的区别
echo可以打印多个变量,但是没有返回值
print只能打印一个返回值,但是有返回值
4.实用小函数
gettype(变量) 输出查看当前变量的数据类型;
例:
$email = 'admin@qq.com'; //数据类型字符串型
echo gettype($email); // 输出结果 string
5.var_dump打印输出
var_dump(变量)获取变量的完整信息(数据/数据类型等);
例:
$email = 'admin@qq.com';
var_dump($email); // 输出结果 string(12) "admin@qq.com"
6.var_export打印变量将变量内容以字符串的形势返回
var_export(变量) 打印变量将变量内容以字符串的形势返回
例:
$email = 'admin@qq.com';
var_export($email); // 输出结果 "admin@qq.com"
7.print_r以人性化的方式打印变量
print_r(变量) 还有一个参数true表示不直接打印,而返回
例:
$arr = ['电脑',4500,'Dell'];
print_r($arr);
// 加上参数true
$arr = ['电脑',4500,'Dell'];
// $str承接返回回来的数据
$str = print_r($arr,true);
变量
变量的命名规则
1.变量名区分大小写
例:
$username = 'admin';
$userName = 'adminsssss';
echo $username; // 输出admin而不是被覆盖
echo '<br />';
echo $userName; // 输出 adminsssss
//函数名不区分大小写
echo strtoupper($userName); // 输出 admin
echo STRTOUPPER($userName); // 函数正常输出 admin
2.变量名必须以$开始
例:
$demo = 'hello';
3.变量标识符不予许使用数字开始
例:
错误示范:
$123adb = 'username'; // 不被允许的
正确:
$demo = 'hello';
4.变量允许使用下划线开始
例:
$_email = 'username';
5.变量名中不允许使用特殊字符,@等
例:
错误示范:
$user@name = 'a'; // 不被允许的
6.变量名可以是中文名(但是不推荐使用)
例:
$我的中国心 = 'hello';
echo $我的中国心; // 输出结果hello
7.变量名不要使用重复字母,或单个下划线命名,无意义
例:
$aaa = 'hello';
echo $aaa;
$_ = 123;
echo $_;
总结:变量标识符以$开始,仅允许使用字母,下划线和数字,切不允许使用数字开始
动态变量
指的是变量的类型可以随着值得类型变化而变化
例:
$test = 123;
var_dump($test); // 输出值得类型是int整形 那么该变量的类型也是整形
$test2 = '123';
var_dump($test2); // 输出值得类型是string字符串型, 那么该变量的类型也是字符串型
可变变量可变变量
以变量名作为变量名创建变量
例:
$a = 'hello';
$$a = 'hello world';
echo $hello; // 输出 hello word
变量中的值传递,引用传值
1.值传递(也是默认传递方式)
值传递:相当于是b复制了a的值作为自己的值,当b的值改变时和a没有关系
也可这样解释:a和b在两间房子中每间房子各有一个电视,b换台a不受其影响
例:
$a = 99;
// 值传递
$b = $a;
echo $b; // 输出99
// 这里改变b的值a的值不受影响的
$b = 199;
echo $a; // 输出 99;
2.应用传值
b引用了a在内存中存储值得地址,他们共用的是一个地址所以b的值发生变化a的也跟着变化
也可以这样解释:a和b在同一间房子里看同一个电视b换台a看的台也变换
例:
$c = 12;
// 这里的&是取地址符
$d = &$c;
echo $d; // 输出值是12
// 改变d的值
$d = 22;
echo $c; // 输出 22 这里$c的值根据$d的繁盛变化而发生了变化
变量的检测和删除
1.变量检测
isset(变量);函数检测变量是否存在存在且值不为空才是true;
例:
$a = 'test';
$b = null;
// 检测$a输出a的值检测$b输出没有定义该变量(因为变量值为null空)
if (isset($a)) echo $a.'<br>';
else echo '没有定义该变量'.'<hr>';
empty(变量); 检测变量的值是否为空
例:
$b = '';
// 这里$b变量值为空所以输出"值不能为空"
if (empty($b)) var_Dump($b).'<br>';
else echo '值不为空';
2.变量的删除
unset(变量);删除(销毁)变量,没有返回值
例:
$a = 'test';
// 这是unset掉变量$a
unset($a);
// 上边已经销毁该变量这里再输出的话直接提示该变量是未定义的
echo $a;
数据类型
分三类 : 基本类型三个 复合类型:两个 特殊类型:两个
1.基本类型(3个)
字符串类型 整数类型 布尔型
例:
// 字符串类型 变量值为字符串
$name = '手机';
// 数值(整数类型) 变量值为整数
$price = 100;
// 布尔类型(布尔类型只有真(true)和假(false))
$a = false;
2.复合类型
数组型 对象型
例:
// 对象
// 实例化一个对象
$obj = new a;
//对象是属性和方法的无序集合
$obj->name = 'hello';
$obj->age = '21';
echo $obj->name,'<hr>';
// 对象
// 实例化一个对象
// $obj = new a;
// 对象是属性和方法的无序集合
// $obj->name = 'hello';
// $obj->age = '21';
// echo $obj->name,'<hr>';
// 数组
$arr = ['电脑',4500,'Dell'];
3.特殊类型(两个)
null和资源型(resource)
例:
// null类型
$num = null;
var_dump($num); // 打印输出null
// 资源类型 resource
$f = fopen('1.php','r');
var_dump($f); // 打印出结果 resource
变量的类型转换
1.自动转换
自动转换:是由php系统偷偷进行的,不需要用户主动参与
例:
$a = null;
$b = true;
$c = false;
$d = '5g';
$e = 'php';
$f = 15;
$g = 'g1';
// null在算术运算中自动转为0
echo $a + 10,'<br>'; // 输出 10 $a布尔型和整数型10相加变为整数型
// true 在算数运算中自动转换为1
echo $b + 10,'<br>'; // 输出11 $b布尔型和整数型10相加变为整数型
// 注意:字符串中以数字开头,当该字符串进行运算时自动截取该字符串中的数字,(只能是字符串以数字开头才可以截取数字在字符串的中间和尾部都不可以,直接报错)
echo $d + 10,'<br>'; // 输出15 $d的类型是字符串类型这里和10一相加直接转换为整数型
.:字符串连贯操作
例:
$a = null;
$b = true;
$c = false;
$d = '5g';
$e = 'php';
$f = 15;
$g = 'g1';
echo $e . $f, '<br>'; // 输出结果 php15
2.强制转换
intval(变量)将当前变量强制转换为整数类型
例:
$a = null;
$b = true;
$c = false;
$d = '5g';
$e = 'php';
$f = 15;
$g = 'g1';
echo intval($a) + 20,'<br>'; // 输出整形20
strval(变量)将当前变量强制转换为字符串类型
例:
echo strval($f).' hello'; // 输出"15hello"(字符串类型)
// 验证转换类型
echo gettype($f); // 输出 string字符串类型
3.永久转换
settype(变量, '要转换的类型');
例:
settype($f, 'string');
echo gettype($f); //输出字符串类型