博客列表 >数组与字符串、变量的转换以及数组元素的回调处理——2018年8月24日

数组与字符串、变量的转换以及数组元素的回调处理——2018年8月24日

Jackson
Jackson原创
2018年09月02日 16:14:16942浏览
  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可以 快速的遍历关联数组。

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

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