PHP是编译型语言
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>php基础</title>
</head>
<body>
<!-- php start -->
<?php
//创建sum方法函数 指定接收x型参变量类型 为整形 指定返回字符串类型
function sum(int $a, int $b) : string
{
//返回 字符串 = 整形相加 其中.为字符串拼接
return "$a + $b = " . ($a + $b) ;
}
//打印 实参10,30在中的sum函数中执行的结果
echo sum(10, 30);
?>
<!-- php end -->
</body>
</html>
在HTML中”<?PHP”声明PHP代码开始
“?>”php声明代码结束
echo //输出
print//输出,输出成功返回1
var_dump()// 输出数据的详细信息,带有数据类型和数据长度
变量的本质就是内存中的一段空间
PHP语句必须以分号结尾
变量类型可以被转换,由字符串型转换成整形,由整形转换成数组型等等
//声明变量为字符创型
$str="我是字符串";
//打印
var_dump($str); //string(15) "我是字符串"
//声明变量为整形
$str=10;
var_dump($str);//int(10)
//声明变量为数组型
$str=['a','b',1];
var_dump($str);// array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> int(1) }
小结:
PHP是弱类型语言
变量的传递有值传递和引用传递(地址传递)
//值传递
$price1=10; //将10付给$num1
$price2=$price1; //将$num1的值付给$num2
$price2=20; //更改$num2
echo $price1, '----', $price2, '<br>';//10----20
//引用传递
$price1=10; //将10付给$num1
$price2=&$price1; //将$num1的地址付给$num2
$price2=20; //更改$num2
echo $price1, '----', $price2, '<br>';//20----20
小结:
1、参数的传递有两种,值传递和地址传递
2、&表示获取变量的地址
3、值传递中,一个变量变了,另一个变量没有影响,因为是两个空间
4、地址传递中,一个变量变了,另一个也变了,因为两个变量指向同一个空间
变量的标识符/变量名称,可以动态的改变, 变量名可以来自另一个变量
$var = 'email';
// 变量名email, 恰好是变量$var的值
// $email = 'peter@php.cn';
$$var = 'peter@php.cn';
echo $email;
小结:
和人称谓差不多, 就家里人 你可以称为 儿子 爸爸 哥哥 弟弟 叔叔 等..
isset() //检测是否存在变量 存在返回 true 否则返回false
is_null()//检测变量是否是未定义 是返回true 否则返回false
empty()//检测变量是否为空 是返回true 否则返回false
unset()//销毁变量
$b=null;
if(isset($b)){
echo 1111;
}
//不输出
$b=null;
if(empty($b)){
echo 1111;
}
//输出1111
if(is_null($b)){
echo 1111;
}
//报错
if(empty($b)){
echo 1111;
}
//输出 1111
$b ='';
if (isset($b)) {
echo 1111;
}
//输出 1111;
$b ='';
if (is_null($b)) {
echo 1111;
}
//不输出
小结:
empty
如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,””、0、”0”、NULL、FALSE、array()、var $var、未定义; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
isset
如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。
is_null
检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE . 其它都返回 FALSE 【未定义变量传入后会出错!】
基本类型
| 类型 | 示例 |
| ——— | ——————- |
| 数值 | $int=123; |
| 字符串 | $str=’123str’ |
| 布尔 | $bool=true |
复合类型
| 类型 | 示例 |
| —— | ——————————————— |
| 数组 | $arr=[1,’1’,’abc’] |
| 对象 | $obj= new foo; $obj->do_foo(); |
特殊类型
| 类型 | 示例 |
| ———— | —————————————— |
| null | $num = null; |
| 资源类型 | $f = fopen(‘demo7.php’,’r’); |