博客列表 >20180824数组、变量/字符串互换、数组回调、遍历数组的几种方法

20180824数组、变量/字符串互换、数组回调、遍历数组的几种方法

乂汁的blog
乂汁的blog原创
2018年09月01日 14:50:141153浏览

一、概述

    本节课讲述了数组、变量/字符串互换、数组回调、遍历数组的几种方法,还有一些常用处理函数。

二、作业部分

1、遍历数组和数组与变量字符串之间的转换。

实例

<?php
echo '<h3>遍历数组</h3><hr>';
echo'<pre>';
$arr0 = range(10,40, 10);
$arr1 = ['user' => 'mike', 'age' =>20, 'sex' =>'male', 'loca' => 'beijing'];
echo '原始数组<br>',print_r($arr0,true),'<hr>';
$arr2 = '';
for($i=0; $i<count($arr0);$i++) {
    $arr2 .= $arr0[$i].'、';
}
//echo '新数组<br>',var_export($arr2,true),'<hr>';
//错误,出来的是一个变量,不是数组,数组=数组再输出没有意义。
foreach ($arr1 as $key=>$value){
    echo '[',$key,'] => ',$value,'<br>';
}
echo '<hr>';
echo '<h3>数组变量互换</h3><hr>';
echo '<h6>数组->变量</h6><br>';
//list()
$arry = range(10,30,10);
list($no1,$no2,$no3) = $arry;
echo '索引数组',$no1,$no2,$no3,'<hr>';
//extract()
$arr1 = ['user' => 'mike', 'age' =>20, 'sex' =>'male', 'loca' => 'beijing'];
extract($arr1,true);
echo '关联数组',$user,$age,$sex,$loca,'<hr>';
echo '<h6>变量->关联数组</h6><br>';
$arr3 = compact('no1','no2','no3');
echo var_export($arr3,true);
echo '<h6>字符串->索引数组</h6><br>';
$lang = 'jjjj9iiiii9sssss9pppppp';
echo var_export(explode('9',$lang)),'<br>';
echo var_export(explode('9',$lang,2)),'<br>';
echo var_export(explode('9',$lang,-1)),'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

结果图:1.png2.png

2、数组的回调

实例

<?php
echo '<h3>数组回调</h3><hr>','<pre>';
$arr1 = [9,0,'', 'gg',null,false];
echo var_export($arr1,true);
$arr2 = array_filter($arr1);
echo var_export($arr2,true),'<br>';

$arr1 = ['html','css','javascript','',null];
$arr2 = array_filter($arr1,function ($value){
    return $value !== 'css';
});
echo var_export($arr2,true),'<hr>';//自定义规则不会去除空元素
$arr1 = ['name'=>'admin','email'=>'admin@php.cn'];
array_walk($arr1,function ($value,$key){
    echo $key,'==>',$value,'<br>';
});
echo var_export($arr1,true),'<hr>';
array_walk($arr1,function ($value,$key,$age){
   if ($value!=$age){
       exit('sorry.');
   } else{
       exit($key.'>>>'.$value);
   }
},'admin');

运行实例 »

点击 "运行实例" 按钮查看在线实例

结果图:3.png

三、总结

1、$arr2 .= $arr0[$i];错误认识:出来的是一个变量,不是数组。r如果是数组,那么循环后得到数组=数组再输出没有意义,而且得不到。

2、var_filter自定义规则不会去除空元素

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议