博客列表 >8.24数组与字符串,变量转换

8.24数组与字符串,变量转换

归宿的博客
归宿的博客原创
2018年08月29日 18:41:12576浏览
  1. 数组与字符串,变量之间的转换

<?php
/**
 * 数组与变量与字符串之间的转换
 */
//1.list():吧数组中的元素专为变量   适合用在索引数组上
list($name,$course,$grade)=['小龙女','php',80];
//$name='小龙女';
//$course='php';
//$grade=80;
echo $name.'的'.$course.'课程的成绩是:'.$grade.'<br>';

//2.extract($arr,$flag):关联数组转为变量  适合用在关联数组上
$arr = ['id'=>1,'name'=>'杨过','sex'=>'男','salary'=>8000];
//extract():返回变量的数量
echo var_export(extract($arr).'<br>');
echo '我的id'.$id,'姓名:'.$name,'性别:'.$sex,'工资是:'.$salary.'<br>';

//3.compact():将变量转为数组  适用关联数组
$name = '陈近南';
$faction = '天地会';
$position = '总舵主';
echo var_export(compact('name','faction','position'));
echo '<br>';

//4.explode(): 将字符串转换数组  (参数1:用什么切除;2:要切除的变量;3:截取位数,可以试负数)
$lang='html,css,php,javascript,mysql';
echo var_export(explode(',',$lang)).'<br>';
echo var_export(explode(',',$lang,3)).'<br>';

//5.implode($glue,$arr):将分散的数组拼接起来
$array = ['首页','公司新闻','公司介绍','联系我们'];
echo var_export(implode($array),true),'<br>';
echo var_export(implode('|',$array),true),'<br>';
//添加<a>转为导航
echo var_export('<a href="">'.implode('</a>|<a href="">',$array).'</a>');

    2.数组元素的回调处理

<?php
/**
 * 数组的回调处理
 * 将一个函数作为参数进行传递就是进行回调
 * array_filter($arr,$callback)
 * array_walk($arr,$callback())  //和上面有区别
 */
//1.array_filter():回调处理数组中的每个元素的值,仅返回为true的元素
$arr=[5,0,'',null,29,'php',false];
echo '<pre>';
echo var_export($arr).'共有'.count($arr).'<br>';
//'',0,null,false  :false过滤false字符串
$arr2=array_filter($arr);
echo var_export($arr2).'<br>';
//非常适合删除数组中空的元素

//传一个回调:匿名函数
function hello()
{
    return 'abc';
}
hello();
//匿名函数,赋给变量,直接用变量名调用,属于一次性函数,非常适合当作参数来使用
$hello=function()
{
    return 'abc';
};
$hello();


//用回调来删除
$arr3=['html','css','php'];
$arr4=array_filter($arr3,function($value){
   return $value !='css';
});
echo var_export($arr4).'<br>';

//2.array_walk():对元素中的键和值进行重组
$arr=['name'=>'admin','email'=>'admin@php.cn'];
echo var_export($arr,true),'<br>';
//进行格式化输出
array_walk($arr,function($value,$key){
    echo $key,'>'.$value.'<br>';
});
echo '<hr>';

//回调的第三个参数的用法
array_walk($arr,function($value,$key,$name){
    //如果当前的用户名是admin,则授权查看,否则拒绝
    if($value != $name){
        exit( '无权查看');
    }else{
        exit($key.'>'.$value.'<br>');
    }
},'admin');//'admin'自动和

    3.用for()循环来遍历关联数组

//for()
$rel='';
for ($i=0;$i<count($arts);$i++){
    $rel .= $arts[$i].'---';
}


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