常用的数组函数(二)
时间:2018年8月24号 天气:晴
1.编程 : 数组与字符串,变量之间的转换:
<?php
/**
* 数组与字符串、变量之间的转换
*/
header("Content-type:text/html; charset=utf-8");
//1、list把数组中的元素转为变量,用在索引数组上。
list($name,$course,$grade)=['杨过','Java','100'];
echo $name,'学习的课程是:',$course,'考了,',$grade,'分'.'<hr>';
//extract($arr,$flag);将关联数组转为变量
$arr=[
'id'=>10,
'name'=>'麻花腾',
'position'=>'CEO',
'firm'=>'腾讯'
];
echo '总共生成了:', var_export(extract($arr),true),'个变量。'.'<hr>';
echo '我的id是:'.$id.',名字是:'.$name.'现在在'.$firm.'担任'.$position.'<hr>';
//compact()将变量转为关联数组
$id = 02;
$name = 'JackMa';
$firm = '阿里巴巴';
$position = 'CEO';
$arr1 = compact('id','name','firm','position');
echo '<pre>', var_export($arr1,true);
//explode()将字符串转为数组。
$string='html,css,java,Jquery';
echo '<pre>', var_export(explode(',',$string),true).'<hr>';
//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>';点击 "运行实例" 按钮查看在线实例

2.编程: 数组元素的回调处理
<?php
/**
* 数组元素的回调处理
* 1:典型情况下 callback 接受两个参数。array 参数的值作为第一个,键名作为第二个。
*/
header('Content-type:text/html; charset=utf-8');
//1、array_filter()回调处理数组中的每个元素的值,但仅返回结果为true的值。
$arr1 = ['','php',null,'css',false,0,'java','MySql'];
echo '<pre>';
echo '共有',count($arr1),',个元素','<br>';
echo var_export($arr1,true),'<hr>';
$arr2= array_filter($arr1);
echo '共有',count($arr2),',个元素','<br>';
echo var_export($arr2,true),'<hr>';
//
$arr3 = ['html','css','java','php',''];
$arr4 =array_filter($arr3,function ($values)
{
return $values !=='';
});
echo var_export($arr4,true).'<hr>';
//array_work()对数组的每个键和值处理。
$arr5=[
'name'=>'php',
'number' =>'17819185963'
];
//echo var_export($arr5,true);
array_walk($arr5, function ($key,$value){
echo $key .' ===> '. $value.'<br>';
});
echo "<hr>";
//回调第三个参数的用法
array_walk($arr5, function ($value,$key,$name){
//这个的注意,两个都得用exit()
if($value !=$name){
exit('无权查看');
}else{
exit($key.':'.$value);
}
}, 'php1');点击 "运行实例" 按钮查看在线实例

3.编程: 用for()循环来遍历关联数组
<?php
/**
*for()循环来遍历关联数组
*/
header('Content-type:text/html;charset=utf-8');
$arr1 = ['PHP简介','PHP入门','PHP进阶','PHP高级','PHP大牛'];
//先遍历索引
echo count($arr1).'<br>';
for($i=0;$i<count($arr1);$i++){
echo '<pre>'.print_r($arr1[$i],true);
}
echo '<hr>';
//遍历关联数组
$arr2 = ['id'=>'01','name'=>'PHP','salary'=>'$99999','position'=>'PHP is the first language on the webWorld'];
echo count($arr2).'<br>';
for($n=0;$n<count($arr2);$n++){
$a=key($arr2);
$b=current($arr2);
next($arr2);
echo $a.' --> '.$b.'<br>';
}点击 "运行实例" 按钮查看在线实例

总结:
这节课学到了:
1、数组的分类创建与遍历:分类【索引、关联】,创建【逐个创建(先创建空数组,以追加的方式加入),整体创建】,遍历【list(),each(),foreach(),for(),while()】。
2、数组常用的键值操作。
3、数组与变量和字符串之间的转换:【list() 把数组中的元素转为变量: 用在索引数组上;2. extract($arr, $flag): 关联数组转为变量;3.compact(): 将变量转为关联数组;4.explode():将字符串转换数组;5.implode($glue, $arr)值之间添加样式】
4、数组的切割与填充【array_slice():从数组中指定位置,返回指定数量的元素;array_chunk(): 将大数组分割为小数组;array_pad(),将数组用指定的数组填充到指定的长度】
5、数组的一些回调处理【1. array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素;2. array_walk():对数组中每个元素的键和值进行处理(典型情况下 callback 接受两个参数。array 参数的值作为第一个,键名作为第二个)】
6、for()循环来遍历关联数组
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号