<?php
// php的打印与输出
// 1.echo"显示"输出内容到浏览器 没有返回值
// 2.print'打印' 有返回值 可用于三元运算符中
// var_dump()可以返回变量的完整信息
// 4.print_r()打印输出数组,第二个参数设置为true 可以将变量的信息转换成字符串,
// 不输出到浏览器,只是返回,通常用于线上调试
echo 'how you doing?<br>';
$res = print'你好';
echo '<hr>';
var_dump($res);
echo'<hr>';
$tel = 123456789;
// echo $tel,$tel,tel;
echo $tel . '||' . $tel . '||' . $tel;
// ob_clean();
$arr = ['花生','玉米','火龙果','青苹果',45,63,33];
//echo $arr// Warning: Array to string conversion in
echo'<pre>';
print_r($arr);
echo'<hr>';
var_dump($arr);
$arr2 = ['uniapp','thinkphp','bootstrap'];
$res = print_r($arr2,true);
file_put_contents('log.txt','调错信息:'.$res);//file_put_contents 函数将这个字符串写入名为 log.txt 的文件中。这个函数不会关心文本的格式,它只会将给定的字符串写入文件。
?>
<!-- 2 -->
<?php
// php变量 8种数据类型 4标量类型 2符合类型(数组,对象) 2特殊类型(null,resource)
// 标量类型 布尔型boolean 整形int 字符串string 浮点型float
$username = 'admin';
$username=123;
$username=23.32;
$username=true;
echo $username;
var_dump( $username );
// 数组//打印数组var_dump,print_r
// 索引数组:下表为整型的数组
$arr = [1,2,3,4,'admin'];
echo '<pre>';
var_dump($arr);
// <!-- 关联数组:下标为字符串的数组 -->
$info = [ 'uname'=>'chloe', 'email'=>'951242@qq.com','age'=>28,'gender'=>0];
var_dump($info);
// 数组的访问
echo $arr[4].'<br>';
echo $info['email'];
// 对象 类实例化的结果 class声明类
// class NBaplayer{
// }
// $jordan = new NBaplayer
// null 1.表示一个变量没有值 空
// 2.不表示空格 空字符串 零
// 3.不区分大小写
// ob_clean();//清空缓存区的内容(上面的内容清空)
$int = 34;
var_dump($int);
// 如何声明一个变量为空
// 1.
$int = null;
echo '<br>';
var_dump($int);
// 2.unset释放变量
$username = 'xi xi';
unset($username);
@var_dump($username);//@错误抑制符
//resource 资源类型 保存到外部资源的一个引用
$handle=fopen('log.txt','w');//fopen() 函数用于打开文件或者 URL。尝试以写入模式('w')打开名为 log.txt 的文件。如果文件已存在,这个操作会覆盖文件内容(即删除原有内容),如果文件不存在,则会创建该文件。
// var_dump($handle);//resource(4) of type (stream)
// php变量类型转换
// 强制类型转换(临时) 应用于url query string parameter
// var_dump($_GET['page']);//string(1) "2"
// 分页数据必须是整型,才能计算偏移量 offset
$page = (int)$_GET['$page'];
echo'<br>';
var_dump($page);
if($page === 10)
{
echo'数据正常';
}else{
echo'非法数据';
}
$uid = 25;
// var_dump($uid,(string)$uid,(float)$uid);
var_dump((array)$uid,((array)$uid)[0]);//转化数组-访问数组
// 系统自动转换变量类型
$foo = '100pages';
@$foo += 200;//$foo = $foo+200;
var_dump($foo);//300
echo'<hr>';
$foo += 12.8;
var_dump($foo);//312.8
@$res = null + '10kg rice';
var_dump($res);//10kg
@$res = 5 + '10kg rice';
var_dump($res);//15
$user = ' chloe';
//字符串的拼接
echo 'how you doing '.$user;
echo '<hr>';
// bool类型的转换
@var_dump($email);//null
// null<===> false
if(!@$email)//@错误抑制符
{
echo'你好';
}
$p = $_GET ['page'];
echo gettype($p);//string
echo gettype((int)$p);//integer只是临时转换
echo gettype($p);//string
echo 'hr';
//永远转化变量类型
settype($p,'integer');//settype() 函数用于设置变量的类型
echo gettype($p);//integer,gettype() 函数用于获取变量的类型。
// 变量:代码中需要暂存的数据载体 可以复用 按名访问
// php变量命名规则
// 1.变量规则要让你的partner望文生意
// 2.变量名不能以数字开头,可以以字母或者下划线开头后面跟上字母数字下划线
// 3.变量是区分大小写,函数不区分大小写
// 4.多个单词组成的变量 itemprice itemPrice itemName itenDesc
$_3site = 'taobao.com';
echo $_3site;
$useername = 'chloe';
$USERNAME = 'admin';
echo $USERNAME;
// var_dump($username);
// VAR_DUMP($USERNAME);
// ECHO SHA1('wwwphpcn');//1104b72387fbe4f71ca25616b135407b0dfc4552
// 变量赋值
// 1.传值赋值
// 2.引用赋值 &
// 传值赋值 将源变量$a的值 复制出来一份新的值 内存空间地址给另一个变量$b,修改两个变量的值 互不影响
$a = 45;
$b = $a;
printf('$a的值为%d,$b的值为%d<br>',$a,$b);//%d 格式化说明符,//$a的值为45,$b的值为45
$a = 450;
// printf('$a的值为%d,%b的值为%d<br>',$a,$b);//$a的值为450,$b的值为45
// 引用赋值 & 地址引用符:不存在复制操作 引用赋值更加快捷
// 新变量$price2引用/指向了原始变量(空间地址),互相影响
$price1 = 8888;
$price2 = &$price1;
//$a的值为8888,$b的值为8888
printf('$price1的值为%d,$price2的值为%d<ber>',$price1,$price2);
$price1 = 7999; printf('$price1的值为%d,$price2的值为%d<ber>',$price1,$price2);//$a的值为7999,$b的值为799// 变量的检查与释放 // isset()检测变量是否被被定义 存在并且不为null返回true,否则返回false
var_dump(isset($pwd));
if(isset($pwd)) {
echo'用户密码填写了'; }
//empty()检测一个变量是否为空,为空才返回true 不为空返回false
$username = 'admin';
var_dump(empty($username));
if(isset($username) && !empty($username))
{
echo '用户名存在';
}
$token = '';
var_dump(empty($token));//true
$token = 0;
var_dump(empty($token));//true
$token = false;
var_dump(empty($token));//bool(true)
$token = 1;
var_dump(empty($token));//bool(false)
$token = true;
var_dump(empty($token));//bool(false)
// 释放
// unset()释放掉的变量 变为空
// 常量
// 1.固定值,常量不能被从新定义 不能被取消
// 2.常量的命名前不能$
// 3.常量的明名推荐全部大写
// 4.php全局成员:常量 函数 类 接口 (不接受作用域的限制)
// 变量不是全局变量,严格受作用域的限制
// 定义常量
// 1.define()
define('NATION','china');
echo NATION;
//2. Const关键字 字面量 定义常量
const USER_NOT_EXSIT = '用户不存在';
echo json_encode(['msg'=>USER_NOT_EXSIT],320);
//%s整形,%d字符串
printf('国籍:%s',NATION);
class User{
// 类常量只能用const关键字声明
const APP_PATH = "/0802/part1";
}
// 常量必须初始化赋值
$height;
const GENDER = '女';
// 变量作用域
// 函数体外声名的变量的全局变量
$one = 200; $two = 300;
function add(int $a,int $b):string
{
return $a+$b;
}
// var_dump(add(1,2));
// var_dump(add($one,$two));
function add1() {
$a = 10; $b = 11; echo ($a+$b);
}
add1();
echo $a;//非法访问 在函数外部不能访问函数内部定义的全局变量s ?>