Blogger Information
Blog 36
fans 0
comment 0
visits 28482
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组与字符串、变量的转换以及数组元素的回调处理——2018年8月24日
Jackson
Original
943 people have browsed it
  1. 数组与字符串、变量的转换

    使用list()可以让索引数组中的元素转为变量

    使用extract()可以使关联数组的元素转为变量

    compact()将变量转为数组

    explode():将字符串转为数组
    implode($glue, $arr) 连接符,把数组元素连接成字符串
    案列如下:


    实例

    $arr1 = ['id'=>1, 'name'=>'杨过','sex'=>'male','salary'=>8000];
    var_dump(var_export($arr1,true));//合法的php代码
    var_dump(print_r($arr1,true));
    //1.list() 把数组中的元素转为变量:用在索引数组
    list($name,$sex,$age) = ['jason','male',33];
    echo '名字是:',$name, ' 性别是:',$sex,$age;
    
    //2.extract($arr,$flag):关联数组转为变量,返回变量的数量
    var_dump(extract($arr1));
    echo '共生成',var_export($arr1,true),'个变量<br>';
    echo '我的id',$id,',姓名',$name;
    echo'<pre>';
    //3.compact(): 将变量转为关联数组
    $name = '陈奕迅';
    $sex ='man';
    $job = 'singer';
    $arr = compact('name','sex','job');//变量名的字符串形式
    var_export($arr);
    echo '<hr>';
    //4.explode():将字符串转为数组
    $str = 'html,css,php,mysql,js';
     var_export(explode(',',$str));
    var_export(explode(',',$str,3));//正数:保留元素个数
    var_export(explode(',',$str,-2));//负数:删除元素个数
    echo '<hr>';
    //5.implode($glue, $arr) 连接符,吧数组元素连接成字符串
    $arr = ['首页','公司新闻','公司新闻','联系我们'];
    echo var_export(implode('-',$arr)),'<br>';
    运行实例 »

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

2.数组元素的回调处理

在array_walk()、array_fliter()中的参数放入一个回调函数对其元素进行处理,可达到过滤和设置权限的功能;案列如下:

实例

//array_filter(): 回调函数处理数组中的每个元素的值,仅返回结果为true的值
$arr1 = [5,4,0,'',null,33,false,'php'];
echo '<pre>',var_export(array_filter($arr1));//仅返回true的值
//array_filter()可以删除数组中的空元素
//传入一个回调函数
$arr2 = ['html','css','js'];
var_export(array_filter($arr2, function ($value){
        return $value!=='css';
}));

echo '<hr>';
//2.array_walk() 对数组中每个值和键进行处理
$arr = ['name'=>'admin','email'=>'admin@php.cn'];
//array_walk($arr, function ($v, $k){
//    echo $k,':',$v,'<br>';
//});
//回调函数的第三个参数
array_walk($arr,function ($v,$k,$name){
    //如果当前用户不是admin,则无法查看
    if ($v != $name){
        exit('无权查看');
    }else{
      exit($k.':'.$v);
    }
},'admin');
echo '<hr>';

运行实例 »

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

3.foreach遍历关联数组

实例

$arr =['name'=>'陈奕迅','age'=>'33','job'=>'singer'];
foreach($arr as $key=>$value){
    echo $key,'=>',$value,'<br>';
}

运行实例 »

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

实例

$arr =['name'=>'陈奕迅','age'=>'33','job'=>'singer'];
foreach($arr as $key=>$value){
    echo $key,'=>',$value,'<br>';
}

运行实例 »

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

使用foreach可以 快速的遍历关联数组。

总结:数组可以与字符串、变量之间进行转换,但这些转换会直接作用在原数组上。使用回调函数可以灵活处理数组的元素

Correction status:Uncorrected

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