Blogger Information
Blog 14
fans 0
comment 0
visits 9968
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
其他常用数组函数 2018年8月24号作业
笨笨的博客
Original
833 people have browsed it

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>';
}

运行实例 »

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


Correction status:qualified

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