博客列表 >其他常用数组函数 2018年8月24号作业

其他常用数组函数 2018年8月24号作业

笨笨的博客
笨笨的博客原创
2018年08月26日 20:13:01832浏览

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

实例

<meta charset="utf-8">
<?php
// 数组、字符串、变量之间的转化
//1、list()  将数组中的元素转为变量,只适合用在索引数组上
$arr2 = ['小龙女','php',80];
list($name,$course,$grade) = $arr2;
echo $name,'<br>';

// 2、extract($arr,$flag)  适合用于关联数组转变量  返回变量的数量
$arr = ['id'=>1,'name'=>'杨过','sex'=>'female','salary'=>9000];
//echo '一共生成了',var_export(extract($arr,true)),'个变量';
extract($arr);
echo 'id:'.$id.' 姓名:'.$name.' 性别:'.$sex.' 工资:'.$salary.'<hr>';

//3、compact():将变量转为数组
$name = '袁长虎';
$sex  = '男';
$age  = 26;
$student = compact('name','sex','age');
echo var_export($student,true).'<hr>';

//4、explode('分隔符',$str,limit)  将字符串转为数组  规律的字符串
$lang = 'php,html,js,java';
echo var_export(explode(',',$lang),true),'<br>';
echo var_export(explode(',',$lang,2),true),'<br>';
echo var_export(explode(',',$lang,-2),true),'<br>'; //最常用

//5、implode($glue,$arr)  数组转字符串
$arr = ['首页','关于我们','新闻动态','联系我们'];

echo var_export('<a href="">'.implode('</a> | <a href="">',$arr).'</a>',true);

/***************切割与填充*********************/ 
//array_slice():从数组中指定位置,返回指定元素
// $arr = [10,20,30,40,50,60];
echo '<pre>';
$arr = range(10,100,10);
print_r($arr);
echo var_export(array_slice($arr,3,2),true),'<hr>';

// array_chunk():将大数组分割为小数组
$arr2 = range(1,10);
// echo var_export($arr2,true);
echo var_export(array_chunk($arr2,3,true),true);

//array_pad():将数组用制定的数组填充到制定的长度
$arr = [10,20,30];
echo var_export(array_pad($arr,5,99),true);

运行实例 »

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

2、数组元素的回调处理

实例

<meta charset="utf-8">
<?php
//数组的回调处理
//回调:将一个函数作为一个参数进行传递
//1、array_filter($arr,$callable):回调处理数组中的每个元素,仅返回结果为true的元素  非常适合删除数组中的空元素
$arr1 = ['1',0,'',3,NULL,FALSE,'java','php','html'];
//打印原始数组
echo var_export($arr1,true).'<br>共有'.count($arr1).'个元素<br>';
$arr2 = array_filter($arr1);
echo var_export($arr2,true).'<br>剩下'.count($arr2).'个元素<br>';

// 传入一个回调(匿名函数)
$arr3 = ['html','css','javascript'];
$arr4 = array_filter($arr3,function ($value){
	return $value !== 'css';
});
echo var_export($arr4,true),'<br>';

//2、array_walk($arr,$callable())  对数组中每个元素的键和值进行处理
$arr = ['name'=>'changhu','age'=>26,'email'=>'changhu@tju.edu.cn'];
//array_walk($arr,function ($value,$key){
//	echo $key.' : '.'<span style="color:#f00">'.$value.'</span><br>';
//});
//回调的第三个参数的用法
array_walk($arr,function($value,$key,$name){
	if($value != $name){
		exit('无权查看');
	}else{
		exit($key.':<span style="color:#f00">'.$value.'</span>');
	}
},'changhu1');

运行实例 »

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

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

实例

<?php
header('Content-type:text/html;charset=utf-8');

$user = ['id'=>5,'name'=>'changhu','gender'=>26];
for($i=0;$i<count($user);$i++) {
	list($key,$value) = each($user);
	echo $key.' => '.$value.'<br>';
}

运行实例 »

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


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