1.PHP基本语法
- PHP 脚本可以放在文档中的任何位置。
- PHP 脚本以 <?php 开始,以 ?> 结束:
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个 PHP 页面</h1>
<?php
echo "Hello World!";
// 这是一行注释
/*
这是
多行
注释
*/
?>
</body>
</html>
如图
PHP 中的每个代码行都必须以分号结束
- php的输出打印
echo 效率最高,可以打印多个变量,没有返回值
print 仅能打印单个变量,返回值1
var_dump() 获取到变量的完整的信息
var_export 函数用于输出或返回一个变量,以字符串形式表示
2.变量的命名
- 变量是临时存储数据的容器
- 变量是实现数据复用的手段
- 变量名只允许下划线,数字和英文。不能使用数字作为开始,中文也可做为变量名,但不建议用。
<?php
$name = 'admin';
$Name = 'peter';
// 变量区分大小写
echo $name,'<br>', $Name, '<hr>';
// 函数是不区分大小写
echo strtoupper($Name),'<br>';
echo STRTOUPPER($Name),'<hr>';
//变量的动态, 变量类型可以根据变量值进行转换
$var=100;
var_dump($var);
echo '<hr>';
$var='zhangsan';
var_dump($var);
echo '<hr>';
?>
3.变量赋值
- 变量有值传递与引用传递二种方式赋值
// 变量的有值传递与引用传递二种方式赋值
// 1. 值传递,也是默认的方式
$price1 = 99;
$price2 = $price1;
// 更新price2
$price2 = 199;
// 查看price1
echo 'price1 = ' . $price1 . '<hr>';
// 2. 引用传递
$price1 = 99;
// 在等号的右边/右值前面加上&(取地址符)
// 当前$price2中保存的并不是99, 而是$price1变量在内存中的地址, [0xabcd1234] = 99
$price2 = &$price1; #将$price1的内存地址取出,赋值给$dprice2 两个变量一个内存地址
// 更新price2
$price2 = 199;
// 查看price1, 会发现print1与price2同步更新了
echo 'price1 = ' . $price1 . '<hr>';
- 总结
值传递:变量代表的数据传递,变量自身不受彼此影响
引用传递:变量代表的数据所在地址传递,一个改变会影响另外一个
4.变量的检测与删除
- 主要三个函数
isset():判断是否定义或null,结果为布尔值;
unset():删除变量,无返回值;
empty():判断是否为空,常用于表单验证。
// echo $name;
// 变量检测
// isset():变量存在且值不为null时结果为true;unset():删除变量,没有返回值;
echo isset($name) ? '已定义' : '未定义';
echo '<br>';
// unset():删除变量, 没有返回值
// unset($name);
// 判断变量值是否为空empty(),常用于验证表单数据
$name = '';
echo empty($name) ? '空' : '非空';
5.数据类型
//1.基本类型
//字符串
$name='zhangsan';
//数值
$price=100;
//布尔型可以是 TRUE 或 FALSE
$is5G = false;
//2.复杂类型
//对象
$obj= new stdClass;
$obj->name ='zhangsan';
echo $obj->name,'<hr>';
//数组
$arr=['电脑',4500,'dell'];
print_r($arr);
//print_r以人性化的方式打印,True表示不直接打印而返回
//返回是一定要有一个接受者
$str=print_r($arr,true);
echo '<pre>'.$str.'</pre>';
//基本类型 单值,标值
//复合类型 多值
//3.特殊类型
//null
$num=null;
var_dump($num);
echo '<hr>';
$f=fopen('变量1.php','r');
var_dump($f);
echo '<hr>'.gettype($f);
//gettype()函数是PHP中的一个内置函数,用于获取变量的类型;它可用于检查现有变量的类型
小结
字符串
你可以将任何文本放在单引号和双引号中布尔型
布尔型可以是 TRUE 或 FALSE。数组
可以在一个变量中存储多个值对象
在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构,后我们在类中定义数据类型,然后在实例化的类中使用数据类型。NULL值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
6.变量的类型转换
//php类型转换
//自动转换 是由PHP偷偷进行的,不需要用户参与
$a=null;
$b=true;
$c=false;
$d='5g';
$e='php';
$f=15;
echo $a+10,'<br>'; //null在算术运算中被自动转换为0
echo $b+10,'<br>'; //true在算术运算中被自动转换为1
echo $c+10,'<br>'; //null在算术运算中被自动转换为0
echo $d+10,'<br>'; //把字符串前面的数字运算了,后面的忽略
echo $e+10,'<br>'; //报错,但还会计算,字符串按0算
echo '<hr>';
//字符串连接操作
echo $e.$f,'<br>';
//强制转换 (int)强制转换为整数 (string)字符串 不建议这样用
echo (int)$e+10,'<br>';
//intval转换为整数 strval()转换为字符串 ,临时转换
echo intval($e)+20,'<br>';
echo strval($f).'nihao','<br>';
echo gettype($f),'<br>';
//永久转换
settype($f,'string');
echo gettype($f),'<br>';