* 函数主要要搞清楚以下几点?
* 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):返回当前元素的键 //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,...):将索引数组中的值,赋值给一组变量 * 执行的操作: * 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>'; }
|
|