Correction status:qualified
Teacher's comments:
通过今天学习,我掌握了数组与变量与字符之间的转换,数组的切割和填充,数组的回调等数组基本知识,以下是我的编程代码:
1,数组与字符串,变量之间的转换
<meta charset="UTF-8"> <?php /** * Created by PhpStorm. * User: admin * Date: 2018/8/25 * Time: 17:05 */ //list将数组中的元素转换为变量 $studentIno=['jack','15',100]; list($name,$age,$score)=$studentIno; echo $name,'他今年:'.$age,'岁了','这次考试成绩'.$score; echo '<br>'; //list将数组中的元素转换为变量 $studentIno=['jack','15',100]; list($name,$age,$score)=$studentIno; echo $name,'他今年:'.$age,'岁了','这次考试成绩'.$score; echo '<hr>'; //extract() 的一种可能用法是将 // 返回的结合数组中的内容导入到符号表变量中去。 $age='男'; $account=['name'=>'小明','age'=>20,'hoppy'=>'篮球']; extract($account,EXTR_PREFIX_SAME,"sex"); var_export( "$name, $age, $hoppy, $sex_age"); echo '<br>'; echo '共生成了:',var_export(extract($account),true),'个变量:<br>'; echo '<hr>'; //compact();将变量转为数组 $name='陈近难'; $sex='男'; $address='浙江'; $arr=compact('name','sex','address'); echo var_export($arr,true); echo '<br>'; echo '<hr>'; //4,explode();将字符串转换数组 //如果 limit 是 0,则会被当做 1。 $language='html,css,javascript,jquery,php,mysql'; //以,好将字符串拼成数组 echo var_export(explode(',',$language)),'<br>'; //如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。 echo var_export(explode(',',$language,3)),'<br>'; //如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。 echo var_export(explode(',',$language,-1)),'<br>'; //implode — 将一个一维数组的值转化为字符串 $arr=['首页','公司新闻','公司首页','联系我们']; echo var_export(implode('|',$arr),true); //添加<a>转为导航 echo var_export('<a href="#">'.implode('</a>|<a href="#">',$arr).'</a>'),'<br>';
点击 "运行实例" 按钮查看在线实例
2,数组元素的回调处理
<meta charset="UTF-8"> <?php /** * 数组元素的回调处理 * */ //创建一个数组自带三个空元素 $arr1 = [5, 0, 20,' ', 88, false, 'php',' ']; //输出原数据 echo '原数组:'.var_export($arr1,true).'数组的个数:'.count($arr1).'<br>'; //删除数组中的空元素 $arr2=array_filter($arr1); echo '删除空元素数组:'.var_export($arr2,true).'数组的个数:'.count($arr2).'<br>'; //传入一个回调,匿名函数 $studentName=['小军','小明','小红','老王兄']; //用一个变量接收筛选结果 $result=array_filter($studentName,function($obj){ return $obj!='小红'; }); echo '<hr>'; echo var_export($result); //2,array_walk();对数组中每个元素的键和值进行处理 $info=['小明'=>20,'小军'=>50,'小红'=>80,'name'=>'admin']; echo '<br>'; //输出原数组 echo '输出原数组:'.var_export($info,true).'<br>'; //使用array_walk()函数进行操作数组 array_walk($info,function ($value,$key,$name){ // if ($name!=$value) // { // exit('无权查看'); // }else{ if ($value>60) { echo '以下是成绩合格清单:','姓名是:'.$key.'成绩是:'.$value.'<br>'; // exit($key. ':'. $value).'<br>'; }else { echo '以下是成绩不合格清单:','姓名是:'.$key.'成绩是:'.$value.'<br>'; } //} },'admin');
点击 "运行实例" 按钮查看在线实例
3,使用for循环输出关联数组
<meta charset="UTF-8"> <?php /** *使用for循环输出关联数组 */ $student=['name'=>'小程','age'=>'18','sex'=>'男']; //使用for循环输出关联数组,key返回键值,current返回当前的值 for($i=0 ; $i <count($student) ;$i++){ echo key($student),'=>',current($student),'<br/>'; next($student); } echo '<hr>'; echo 'foreach输出:','<br>'; //使用foreach循环输出键值对 foreach($student as $key=>$value) { echo $key.'=>'.$value; } echo '<hr>'; //使用while循环必须用reset重置一下 reset($student); //使用while循环输出关联数组 while (list($key,$value)=each($student)) { echo $key.'=>'.$value; } echo '<br>';
点击 "运行实例" 按钮查看在线实例
总结:
1,数组与变量与字符之间的转换
a,extract:返回变量的数量
b,compact();将变量转为数组
c,explode();将字符串转换数组
d,implode — 将一个一维数组的值转化为字符串
2,数组的分割和填充
a,array_slice();从数组中指定位置,返回指定数量的元素(0表示第一个元素输出,
参数备注:第一个数组,第二个开始位置,第三,数组个数,负数从尾部删除数据)
b,array_chunk();将大数组分割为小数组
c,array_pad(),将数组用指定的数组填充到指定的长度 array_pad($arr,5,100)