乾矫许懈抒肆砷叮青深摄挠驮
函数主要要搞清楚以下几点?
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):键值对调
新建demo2.php
代码:
<?php echo "<h3>数组键值与指针巡航函数</h3><hr color='red'>"; echo "<pre/>"; $user=['id'=>5,'name'=>'mengmianren','gender'=>'male','age'=>88]; print_r($user); echo "<hr color='red'>"; //一.数组中的键与值的常用操作函数 //1. in_array(value, array): val是否在array中,返回布尔值 echo in_array('mengmianren',$user) ? 'mengmianren在数组中<hr color=red>' : 'mengmianren不在数组中<hr color=red>'; //2. array_key_exists(key,array):key是否在array中,返回布尔值 echo array_key_exists('gender',$user) ? '键gender在数组中<hr color=red>' : '键gender不在数组中<hr color=red>'; //3.array_values(array): 以索引方式返回array值部分 echo "返回值组成的索引数组数:<br>"; print_r(array_values($user)); //4.array_keys(array[,value]): 以索引方式返回array键部分 echo "返回的键组成的索引数组数:<br>"; print_r(array_keys($user)); //4-1.array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键 echo "mengmianren对应的键是:<br>"; print_r(array_keys($user,'mengmianren')); echo "<hr color='red'>"; //5. array_search(value, array): 以字符串方式返回指定值的键 echo "mengmianren对应的键是:".array_search('mengmianren', $user); echo "<hr color='red'>"; //6. array_filp(array):键值对调 echo "键值对调后的结果是:<br>"; print_r(array_flip($user)); echo "<hr color='red'>";
执行:
二、数组内部指针(巡航)操作(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,…):将索引数组中的值,赋值给一组变量
代码:
<?php echo "<h3>数组键值与指针巡航函数</h3><hr color='red'>"; echo "<pre/>"; $user=['id'=>5,'name'=>'mengmianren','gender'=>'male','age'=>88]; print_r($user); echo "<hr color='red'>"; // 二、数组内部指针(巡航)操作 //count(array)当前数组的元素数量 echo "当前数组中有".count($user)."个元素"."<hr color='red'>"; //当前指针位指向第一个元素 //1.key(array):返回当前元素的键 echo "数组中第一个元素的键是".key($user)."<hr color='red'>"; //2.current(array):当前元素的值,pos()为同名函数 echo "数组中第一个元素的值是".current($user)."<hr color='red'>"; //3.next(array):指针下移,指向下一个元素 next($user); echo "指针下移一位后的键是".key($user)."<br>"; echo "指针下移一位后的值是".current($user)."<br>"; //3-1.next(array):返回值是指针指向元素的值 echo "指针下移两位后next()函数的返回值是".next($user)."<br>"; //3-2.next(array):指针下移到数组边界后面返回值为false next($user); echo "指针下移四位后next()函数的返回值是:<br>"; var_dump(next($user)); echo "<hr color='red'>"; //4.reset(array):指针复位,指向第一个元素,并返回它的值 reset($user); echo "reset()复位以后数组的结构为:<br>"; print_r($user); //除复位外,还可返回第一个元素的值 // var_dump(reset($user)); echo "<br>复位函数reset()的返回值是:".reset($user); echo "<hr color='red'>"; //5. end(array):指针移动最后一个元素上 end($user); echo "指针移动最后一个元素上后的键值对应关系: ".'['.key($user).']=>'.current($user); echo "<br>"; echo "end()函数返回值为: ".end($user); echo "<hr color='red'>"; //6. prev(array):指针向前移动一位,并返回当前元素的值 prev($user); echo "指针前移一位后的键值对应关系: ".'['.key($user).']=>'.current($user); echo "<br>"; echo "指针前移两位后的返回值是: ".prev($user); echo "<hr color='red'>";
执行:
7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针
注意:因为执行效率的问题,each在php7中已经被废弃
返回四个元素的数组:
2个索引元素, [0]是键,[1]是值
2个关联元素, [key]是键, [value]是值
代码:
<?php echo "<h3>数组键值与指针巡航函数</h3><hr color='red'>"; echo "<pre/>"; $user=['id'=>5,'name'=>'mengmianren','gender'=>'male','age'=>88]; print_r($user); echo "<hr color='red'>"; //7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针 /** * 返回四个元素的数组: * 2个索引元素, [0]是键,[1]是值 * 2个关联元素, [key]是键, [value]是值 */ echo "each函数操作数组的结构:<br>"; print_r(each($user)); echo "<hr color='red'>";
执行:
8. list($a,$b,…):将索引数组中的值,赋值给一组变量
执行的操作:
1.each($user): 获取当前元素的索引部分
2.list($key, $value): [0]的值赋给变量$key, [1]的值赋给变量$value
3.数组$user指针自动下移
代码:
<?php echo "<h3>数组键值与指针巡航函数</h3><hr color='red'>"; echo "<pre/>"; $user=['id'=>5,'name'=>'mengmianren','gender'=>'male','age'=>88]; print_r($user); echo "<hr color='red'>"; //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>'; //重复调用 list($key, $value) = each($user); echo $key,'=>'.$value,'<br>'; //重复调用 list($key, $value) = each($user); echo $key,'=>'.$value,'<br>'; //重复调用 list($key, $value) = each($user); echo $key,'=>'.$value,'<br>'; //非常适合用循环来实现数组遍历 echo "<hr color='red'>"; reset($user);//指针复位 echo "使用指针复位后使用list和each实现数组遍历:<br>"; while(list($key, $value) = each($user)) { echo $key,'=>'.$value,'<br>'; }
执行:
炼呕踩竿恢陪嗜蛙隙尘枚仁鼎