博客列表 >2018-08-24常用的数组函数2

2018-08-24常用的数组函数2

阿小的博客
阿小的博客原创
2018年08月26日 21:42:45587浏览

实例

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>常用的数组函数</title>
</head>
<body>
<h3>数组与字符串,变量之间的转换</h3>
<?php 

echo '<span style="font-weight:bold;">list(),将数组中的元素转换为变量,用于索引数组  注意,list()不是函数</span><br>';
list($name,$course,$grade)=array('Peter','语文',95);
echo $name.'-'.$course.'-'.$grade;
echo'<br>';

echo '<span style="font-weight:bold;">extract(),返回数组长度,将关联数组转换为变量</span><br>';
$arr1=array('id'=>1,'name'=>"Tom",'course'=>'math','grade'=>80);
echo extract($arr1);
echo $id.'-'.$name.'-'.$course.'-'.$grade;
echo'<br>';

echo '<span style="font-weight:bold;">compact()将变量转换为数组,任何没有变量名与之对应的字符串都被略过</span><br>';
$fruit1='apple';
$fruit2='lemon';
$fruit3='berry';
$fruit4='orange';
$arr2=compact('fruit1','fruit2','fruit3','fruit4');
echo'<pre>';
var_export($arr2);
echo'<br>';

echo '<span style="font-weight:bold;">explode()将字符串转换为数组</span><br>';
$lang='PHP*JavaScript*HTML*CSS';
$arr3=explode('*',$lang);   //将变量用分隔符分开
var_export($arr3).'<br>';
var_export(explode('*',$lang,3));//将字符串分为3段,前面按正常分割,最后一段把剩余的部分作为一个整体作为数组最后一个元素
echo'<br>';
var_export(explode('*',$lang,-2));	//负数,除了后面2 个字符串
echo'<br>';

echo '<span style="font-weight:bold;">implode()将数组转换为字符串</span><br>';
$arr4=array('首页','前端开发','PHP开发','Java开发','Python开发');
echo implode('|',$arr4).'<br>';		//将数组元素用分隔符连接成字符串

//切割和填充
echo '<span style="font-weight:bold;">array_splice()从数组指定位置返回指定数量的元素</span><br>';
$arr5=range(10,100,10);
//var_export(array_splice($arr5,0)).'<br>';	//返回所有数组	开始第一个为0,倒数第一个为-1
//var_export(array_splice($arr5,3,4)).'<br>';	//从下标为3 的开始取4个  30,40,50,60
var_export(array_splice($arr5,4,-2));	//从下标为4 的开始取到倒数第3个40,50,60,70,80
echo '<br>';

echo '<span style="font-weight:bold;">array_chunk();将数组分割为小数组</span><br>';
$arr5=range(10,100,10);
var_export(array_chunk($arr5,4));	//每4个为一组,不够平均分配的话,剩下的全为一组
var_export(array_chunk($arr5,4,true));	//参数TRUE,小数的键不变
echo '<br>';

echo '<span style="font-weight:bold;">array_pad();将数组用指定的数组填充到指定的长度</span><br>';
$arr6=range(1,5,1);
$val=6;
var_export(array_pad($arr6,10,$val));	//用变量$val将数组填充到10位,填充在数组末尾
echo'<br>';
var_export(array_pad($arr6,-10,$val));	//用变量$val将数组填充到10位,填充在数组前面
echo'<br>';
?>
<hr>

<h3>数组元素的回调处理</h3>
<?php 
echo '<span style="font-weight:bold;">array_filter();回调处理数组中的每个元素,返回结果为true的元素,适合删除数组中的空元素</span><br>';
$arr7=array('首页','前端开发','PHP开发','Java开发','Python开发');
$arr8=array_filter($arr7,function($value){		//用匿名函数来判断数组中不等于$value的元素
	return $value!='PHP开发';
});
var_export($arr8);
echo'<br>';

$arr9=array('html',null,0,false,'css','0');	//删除数组中的空元素
var_export(array_filter($arr9));
echo'<br>';

echo '<span style="font-weight:bold;">array_walk()对数组中每个元素的键值进行处理,会遍历整个数组而不管指针的位置</span><br>';
$arr10=array('首页','前端开发','PHP开发','Java开发','Python开发');
$arr11=array_walk($arr10,function($value2,$key,$name2){
	//echo $value2.$name2;
	if($value2!=$name2){
		echo ($value2.'无此元素').'<br>';
	}else{
		echo ($value2.'有此元素'.'<br>');
	}

},'PHP开发');
echo'<br>';

echo '<span style="font-weight:bold;">array_unique()去掉数组中的重复数据</span><br>';
$arr12=array('首页','前端开发','PHP开发','Java开发','PHP开发');
var_export(array_unique($arr12));
echo'<br>';

echo '<span style="font-weight:bold;">array_fill()用给定的值填充数组</span><br>';
var_export(array_fill(3,4,'PHP'));	//用PHP填充,从下标3开始填充4个
echo'<br>';

echo '<span style="font-weight:bold;">array_rand()从数组中随机取出一个或多个元素</span><br>';
echo array_rand($arr12).'<br>';		//返回随机元素的键名
var_export(array_rand($arr12,2));	//随机返回两个元素,返回值是数组
echo'<br>';

echo '<span style="font-weight:bold;">shuffle()将数组随机打乱</span><br>';
//此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。
$arr13=range(1,10,1);
var_export(shuffle($arr13)).'<br>';//返回布尔值,但是会将原数组打乱
echo'<br>';
var_export(($arr13));
echo'<br>';

echo '<span style="font-weight:bold;">array_merge()合并多个数组,相同键名相互覆盖</span><br>';
$arr14=array('id'=>1,'book'=>'PHP','price'=>50,'remark'=>'备注');
$arr15=array('id'=>1,'book'=>'HTML','price'=>30,'remark'=>'无');
$arr15=array('id'=>1,'book'=>'CSS','price'=>40,'remark'=>'缺货','autho'=>'Peter');
var_export(array_merge($arr14,$arr15));
echo'<br>';
?>
<hr>

<h3>for()循环遍历数组</h3>
<?php 
$myarr=array('首页','前端开发','PHP开发','Java开发','Python开发');
for($i=0;$i<count($myarr);$i++){
	echo $myarr[$i].'<br>';
}
//foreach遍历数组
$myarr=array('part1'=>'首页','part2'=>'前端开发','part3'=>'PHP开发','part4'=>'Java开发','part5'=>'Python开发');
foreach($myarr as $key => $value){
	echo $key .'=>'. $value.'--';
}
?>
</body>
</html>

运行实例 »

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


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