手写作业:
变量作用域
变量分支:
实例
<?php /** * 条件判断及多分枝 */ //1. 单分支 $grade1 = 55; if($grade1 < 60){ echo '<span>补考补考</span>'; } echo '<hr/>'; //2. 双分支 $grade2 = 61; if($grade2 < 60){ echo '<span>补考补考</span>'; }else{ echo '<span>不错</span>'; } echo '<hr/>'; //3. 多分枝 $grade3 = 61; if($grade3 < 60){ echo '<span>补考补考</span>'; }else if($grade3 >= 60 && $grade3 < 80){ echo '<span>不错</span>'; }else if($grade3 >= 80 && $grade3 < 100){ echo '<span>你真tm 蠢</span>'; }else{ echo '<span>人面猪身</span>'; } echo '<hr/>'; //4. 三元判断,双分支的简写 $age = 15; echo ($age>=18)?'<p>已成年</p>' : '<p>未成年,滚</p>'; // switch strtolower变小写 $program = 'PHP'; switch(strtolower($program)){ case 'php': echo '<p>最好的语言</p>'; break; case 'java': echo '<p>通用的语言</p>'; break; case 'html': echo '<p>超文本语言</p>'; break; default: echo '<p>你的语言是渣渣</p>'; } //for 循环 //for(初始条件;结束条件;更新条件){ // 循环体; //} for($i=0; $i<10; $i++){ // print($i.','); // if($i<9){ // print(','); // } ($i<9) ? print($i.',') : print($i); }
运行实例 »
点击 "运行实例" 按钮查看在线实例
分支结果图:
变量类型与检测:
实例
<?php //变量类型及转换 //is_null() empty() isset() //变量的作用域 //常量 数组 //流程控制 //表格生成器 //php可以和html混编 //出现乱码就放 meta 在页头 <meta charset="UTF-8"> 或者php代码 header('Content-type:text/html;charset=UTF-8'); //标量:单值变量-有四种:数值(整数,浮点),字符串,布尔值 都叫标量,或者基础数据类型 //复合类型:多值变量:数组 array,对象 object //特殊类型:资源类型,null $age = 20; //整数 integer $salary = 3333.333; //浮点 float $name = 'x'; $marriaged = true; echo $name . '的年龄' . $age . $salary . $marriaged; //布尔值echo输出,true为1,false 为空 echo '<hr/>'; echo $name, '的年龄', $age, $salary, $marriaged; //逗号也可以连接字符串 echo '<hr/>'; //数组 $books = ['php','mysql','html','css','javascript']; //print_r() 可以输出数组和变量 print_r($books); //若格式化可以1.看源码;2.加一行 echo '<pre>'; echo '<hr/>'; echo '<pre>'; print_r($books); //对象 $student = new stdClass(); //stdClass 标准类 $student->name = 'aa'; $student->class = '0'; $student->grades = 'a'; //箭头指向属性 var_dump($student); //查看对象 echo '<hr/>'; var_dump($student->name); echo '<hr/>'; echo $student->name; echo '<hr/>'; echo '<h2>'.print_r($student->name, true). '<h2>'; //resource 资源类型 //打开文件 $file = fopen('text.txt', 'r') or die("fail"); echo fread($file, filesize('text.txt')); //fclose($file); //null 类型 $price = null; echo 'price is' . $price; echo '<hr/>'; echo is_null($price)?'是null':'不是null'; //变量检测 echo '<hr/>'; //gettype 获取变量类型 echo gettype($file); echo '<hr/>'; //settype 设置类型 //设置之后,类型将永久改变 $value = 124.58; settype($value, 'integer'); echo gettype($value);
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php //is_null() empty() isset() $val1; //声明变量,但没有值,默认值是 null $val2 = null; //声明并初始化(第一次赋值) $val3 = 'php'; unset($val3); //销毁 var_dump(is_null($val1) ? true : false); echo '<hr/>'; @var_dump(is_null($val1) ? true : false); echo '<hr/>'; @var_dump(is_null($val2) ? true : false); echo '<hr/>'; @var_dump(is_null($val3) ? true : false); //empty() // 空数组, 空字符串, null ,0 ,'0' , false $str1 = ''; $str2 = []; $str3 = 0; $str4 = '0'; echo '<hr/>'; @var_dump(empty($str1) ? true : false); echo '<hr/>'; @var_dump(empty($str2) ? true : false); echo '<hr/>'; @var_dump(empty($str3) ? true : false); echo '<hr/>'; @var_dump(empty($str4) ? true : false); echo '<hr/>'; // isset() 检测一个变量是否存在 is_null的反向操作 // 变量已经存在(有值),并且值不是null,然后返回true $a = null; var_dump(isset($a)); echo '<hr/>'; $b = 'abc'; var_dump(isset($b)); echo '<hr/>'; $c; var_dump(isset($c));
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:
标量也叫单值变量,总共有四种类型:数值类型(整数和浮点);字符串;布尔值
复合类型,也叫多值类型变量:数组(array);对象(object)
特殊类型:资源类型;null
一般的标量可以直接用echo输出查看;print_r() 可以输出查看数组;var_dump可以输出查看对象
资源类型,学习了fopen,fread用来查看文件
//打开文件
$file = fopen('text.txt', 'r') or die("fail");
echo fread($file, filesize('text.txt'));
查看变量类型可以用gettype函数;eg:echo gettype($file);
settype是用来设置变量类型,设置之后,变量的类型永久改变
* 常量就是个只读变量,一旦声明就不能删除,不能更改,
* 常量没有作用域限制,可以直接在函数内使用,而不用再次声明
* 通常,常量全部采用大写字母,不能用$开头,多个单词用下划线连接
打印当前系统中的所有常量 添加pre 格式化输出 用户自定义的常量也会放在里面,放在最后
$city = ['合肥','上海','杭州','南京'];
索引数组,四个元素的索引数组,通过位置访问,0,1,2,3
$user = ['id'=>10, 'name'=>'aa','grade'=>66]; //关联数组,由键值对组成 适合数据库
unset()可以用来删除数组中的某个值,或者整个数组
条件判断主要学了if...else...函数,三元运算和switch函数
$grade3 = 61;
if($grade3 < 60){
echo '<span>补考补考</span>';
}else if($grade3 >= 60 && $grade3 < 80){
echo '<span>不错</span>';
}else if($grade3 >= 80 && $grade3 < 100){
echo '<span>你真tm 蠢</span>';
}else{
echo '<span>人面猪身</span>';
}
$age = 15;
echo ($age>=18)?'<p>已成年</p>' : '<p>未成年,滚</p>';
// switch
$program = 'PHP';
switch(strtolower($program)){
case 'php':
echo '<p>最好的语言</p>';
break;
case 'java':
echo '<p>通用的语言</p>';
break;
case 'html':
echo '<p>超文本语言</p>';
break;
default:
echo '<p>你的语言是渣渣</p>';
}
strtolower用来把函数里面的值变小写