Blogger Information
Blog 19
fans 0
comment 2
visits 18487
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
20180824数组、变量/字符串互换、数组回调、遍历数组的几种方法
乂汁的blog
Original
1154 people have browsed it

一、概述

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

二、作业部分

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自定义规则不会去除空元素

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post