Blogger Information
Blog 12
fans 0
comment 0
visits 10464
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组与字符串,变量之间的转换、 数组元素的回调处理、for()循环来遍历关联数组8月24号
刘永鹏的博客
Original
726 people have browsed it

数组与字符串,变量之间的转换

实例

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

//2. extract($arr, $flag): 关联数组转为变量
$arr1 = ['id'=>1, 'name'=>'杨过','sex'=>'male','salary'=>8000];
//extract():返回变量的数量
echo '共生成了:',var_export(extract($arr1),true),'个变量:<br>';
$id=1; $name='杨过'; $sex='male'; $salary=8000;
echo '我的id:',$id,',姓名:',$name,',性别:',$sex,',工资: ',$salary,'元<hr>';

//3.compact(): 将变量转为关联数组
$name = '陈近南';
$faction = '天地会';
$position = '总舵主';
$arr = compact('name','faction','position');
echo var_export($arr,true),'<hr>';
echo '<pre>';
//4.explode():将字符串转换数组
$lang = 'html,css,javascript,jquery,php,mysql';
echo var_export(explode(',',$lang)),'<br>';
echo var_export(explode(',',$lang,3)),'<br>';
echo var_export(explode(',',$lang,-2)),'<br>';//最常用

//5.implode($glue, $arr)
$arr = ['首页','公司新闻','公司新闻','联系我们'];
echo var_export(implode($arr),true),'<br>';
echo var_export(implode('|',$arr),true),'<br>';
//添加<a>转为导航
echo var_export('<a href="#">'.implode('</a>|<a href="#">',$arr).'</a>'),'<br>';

运行实例 »

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

QQ截图20180829215800.png

数组元素的回调处理

实例

<?php
/1. array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素
$arr1 = [5,0,'',20,null,88,false,'php'];
echo '<pre>';
//echo '原始数组',var_export($arr1,true),',共有:',count($arr1),'个元素<hr>';
// ''空字符串,0,null,false: false
$arr2 = array_filter($arr1);
//echo '新数组',var_export($arr2,true),',共有:',count($arr2),'个元素<hr>';
//非常适合删除数组中的空元素
//传入一个回调: 匿名函数
$arr3 = ['html','css','javascript'];
$arr4 =array_filter($arr3, function ($value){
    return $value !== 'css';
});
//echo var_export($arr4),'<hr>';

//2. array_walk():对数组中每个元素的键和值进行处理
$arr = ['name'=>'admin','email'=>'admin@php.cn'];
echo var_export($arr, true), '<hr>';
//格式化
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);
    }

},'admin1');

运行实例 »

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

QQ截图20180829220053.png

or()循环来遍历关联数组

实例

<?php
$arts = ['亢龙有悔','飞龙在天','见龙在田','鸿渐于陆','潜龙勿用','突如其来'];
$res1 = '';
for ($i=0; $i<count($arts); $i++) {
    $res1 .= $arts[$i].'---';
}
echo rtrim($res1,'---'),'<hr>';

运行实例 »

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

QQ截图20180829220537.png

总结

.list() 把数组中的元素转为变量: 用在索引数组上

extract($arr, $flag): 关联数组转为变量

compact(): 将变量转为关联数组

explode():将字符串转换数组

implode($glue, $arr)



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
Author's latest blog post