Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:完成的非常认真, 特别是手写
<?php
//$声明一个变量,$name中name是变量名
$name = 'zhang'; //str
$age = 30; //int
$isMarried = true; //布尔值
//echo 回显,无返回值
echo $name . '<hr>';
//布尔值会有类型转移
echo '婚否'.$isMarried. '<hr>'; //true为1,false为空不显示
// 字符串可以像数组一样的访问
echo $name[1]. '<br>'; //为了区别真正的数组,防止误判,最好用下面的方式
echo $name{2}. '<hr>';
//print():打印,与echo功能一样,有返回值:1
print('年龄'.$age.'<br>');
echo print('年龄'.$age .',返回值:'); //通过echo能显示1
echo '<hr>';
//print_r($aa, false/true) 以更容易理解的方式打印变量
//只打印变量,没声明区别
print_r($name);
echo '<br>';
// 添加了true,则返回return,而不是输出echo
print_r($age, false); //输出30
echo print_r($age, false); //输出30 1
echo '<hr>';
//print_r($aa, false/true) 对符合数据意义非凡
// range(low,high,step); low:必须,规定数组的最低值,high,必需,最高值;step可选,元素间的步行制度,默认1
$data = range(1,20,2);
//true使该函数只返回数据,而不是直接输出
echo '<pre>' . print_r($data, true) . '</pre>';
print_r($data);
echo '<hr>';
//var_export($aa, false/true);
// 定义该变量的php代码,如字符串自动加上定界符引号
var_export($name);
echo '<hr>';
// var_dump($a, $b, $c ....) 打印一个或多个变量的结构,(类型与值)
var_dump($name, $age, $isMarried);
$user = ['admin',28,'男'];
// echo print只能访问单个成员,不能输出
//[]一般用于数组,{}一般用于单个值的变量
echo $user[2] . $user{0};
print($user[0]);
echo '<hr>';
print_r($user); echo '<br>'; //打印数组
echo '<pre>'.print_r($user, true).'</pre>';
var_dump($user);//打印数组值与类型,字符长度
echo '<hr>';
// for循环遍历索引数组
$arr = '';
for($i=0;$i<count($user);$i++){
$arr .= $user[$i] . ', ';
}
echo rtrim($arr, ', ') . '<hr>';
//foreach便利数组
foreach($user as $v){
echo $v . ', ';
}
echo 111 .'<hr>';
//while 便利,不推荐用于索引数组
//each()会被淘汰
// while(list($key, $value) = each($user) ){
// echo '[' . $key . '] => ' . $value . '<br>';
// }
// echo 11111111111111111111111 .'<hr>';
//转换
//list() 索引数组与变量间的转换,MVC模板赋值会用到
list($name, $age, $sex) = $user;
echo $name.'---'.$age.'---'.$sex . '<hr>';
//implode(),索引数组转字符串:将数组扁平存储会用到,例如将数组存储到数据表的字段中
$str = implode(',',$user);
echo $str. '<hr>';
$sql = "INSERT `user` SET `content`={$str}";
//explode() 字符串(例如从数据库中提区)转数组
$arr = explode(',',$str);
print_r($arr);
$user = ['name'=>'admin', 'age'=>28, 'sex'=>'女'];
//访问
echo $user['age'];
print_r($user);
var_dump($user);
var_export($user);
echo '<hr>';
// foreach()遍历数组
foreach($user as $key=>$v){
echo $key.'=>'.$v.' ';
}
echo '<hr>';
// for() 不太适合便利关联数组,但可以借助数组指针,完成便利
$arr = '';
for($i=0;$i<count($user);$i++){
// 获取当前指针处的数组成员
$arr .= current($user) . ', ';
// 指针前移到下一个数组成员的位置上
next($user);
}
echo rtrim($arr,', ') . '<hr>';
//转换
//1.关联数组与变量间的转换
// 索引数组用list($a,$b,$c..)=$user;需要自己提供变量名
// 关联数组用extract($user)
extract($user);
echo 'name='.$name;
echo 'age='.$age;
echo 'sex='.$sex;
echo '<hr>';
//多个变量,也可以组成关联数组 compact('变量名1', '变量名2', '变量名3'...)
$a='zhang';
$b=17;
$c='女';
// 注意,变量名是$后的字符,如上面的 a,b,c就是变量名
$userr = compact('a', 'b', 'c');
print_r($userr);
echo '<hr>';
// 关联数组 转 索引数组
print_r(array_values($userr));
echo '<hr>';
//关联数组转字符串, 与索引数组的方式是一样的, 主要用于存储和格式化输出
$strc = implode(',',$userr);
echo $strc;
// 字符串转索引数组
$arrc = explode(',',$strc);
print_r($arrc);