您好,欢迎访问一九零五行业门户网

php常用数组函数

* 函数主要要搞清楚以下几点?
 * 1. 功能:能做什么?
 * 2. 场景: 用在哪里?
 * 3. 参数: 必选与可选的
 * 4. 返回值: 类型与数量
* 一、键与值的操作(6个)
 * 1. in_array(value, array): val是否在array中,返回布尔值
 * 2. array_key_exists(key,array):key是否在array中,返回布尔值
 * 3. array_values(array): 以索引方式返回array值部分
 * 4. array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键
 * 5. array_search(value, array): 以字符串方式返回指定值的键
 * 6. array_filp(array):键值对调
 * 二、数组内部指针(巡航)操作(8个)
 * 1. key(array):返回当前元素的键 
 * 2. current(array):当前元素的值,pos()为同名函数
 * 3. next(array):指针下移,指向下一个元素,返回当前值
 * 4. reset(array):指针复位,指向第一个元素,并返回它的值
 * 5. end(array):指针移动最后一个元素上
 * 6. prev(array):指针向前移动一位,并返回当前元素的值
 * 7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针
 * 8. list($a,$b,...):将索引数组中的值,赋值给一组变量
echo '<pre>';$user = ['id'=>5,'name'=>'peter','gender'=>'male','age'=>30];print_r($user); //查看数组echo '<hr color="red">';
//一.数组中的键与值的常用操作函数
//1. in_array(value, array): val是否在array中,返回布尔值
echo in_array('peter zhu',$user) ? '存在<br>' : '不存在<br>';
//2. array_key_exists(key,array):key是否在array中,返回布尔值
echo array_key_exists('name',$user) ? '存在<br>' : '不存在<br>';
//3.array_values(array): 以索引方式返回array值部分
print_r(array_values($user));
//4.array_keys(array[,value]): 以索引方式返回array键部分
print_r(array_keys($user));
//4-1.array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键
print_r(array_keys($user,'male'));
//5. array_search(value, array): 以字符串方式返回指定值的键
print_r(array_search('peter', $user));
//6. array_filp(array):键值对调
print_r(array_flip($user));
// 二、数组内部指针(巡航)操作
//count(array)当前数组的元素数量
echo count($user),'<br>';
//当前指针位指向第一个元素
//1.key(array):返回当前元素的键
echo key($user),'<br>';
//2.current(array):当前元素的值,pos()为同名函数
echo current($user), '<br>';
//3.next(array):指针下移,指向下一个元素
next($user);
//查看当前元素的键值
echo key($user),'<br>'; echo current($user), '<br>';

//next(array)除将指针下移外,还可以返回当前元素的值
var_dump(next($user)); echo key($user),'<br>'; echo current($user), '<br>';
//继续向下遍历,发现next(array)返回false,说明遍历结束
var_dump(next($user));
//已到结尾无数据,不会再有输出
echo key($user),'<br>'; echo current($user), '<br>';

//4.reset(array):指针复位,指向第一个元素,并返回它的值
reset($user);
//除复位外,还可返回第一个元素的值
// var_dump(reset($user));
echo key($user),'<br>';echo current($user), '<br>';
//5. end(array):指针移动最后一个元素上
end($user);
// var_dump(end($user)); //也能返回当前元素的值
echo key($user),'<br>';echo current($user), '<br>';
//6. prev(array):指针向前移动一位,并返回当前元素的值
prev($user);echo key($user),'<br>';echo current($user), '<br>';
//7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针
* 返回四个元素的数组:
* 2个索引元素, [0]是键,[1]是值
* 2个关联元素, [key]是键, [value]是值
@print_r(each($user));
//注意:因执行效率的问题,这个函数在php7中已经废弃
//8. list($a,$b,...):将索引数组中的值,赋值给一组变量
reset($user); //复位指针
* 执行的操作:
* 1.each($user): 获取当前元素的索引部分
* 2.list($key, $value): [0]的值赋给变量$key, [1]的值赋给变量$value
* 3.数组$user指针自动下移
list($key, $value) = each($user);echo $key,'=>'.$value,'<br>';

//重复调用
list($key, $value) = each($user);echo $key,'=>'.$value,'<br>';

//非常适合用循环来实现
echo '<hr color="blue">';reset($user);while(list($key, $value) = each($user)) {echo $key,'=>'.$value,'<br>';}
其它类似信息

推荐信息