PHP: array数组常用API
1:数组的指针操作:
语法:current(数组) 当前指针指向的“单元值”(默认是第零个)
语法 next(数组) 当前指针往下移动一帧
语法 prev(数组) 当前指针往前移动一个指针
语法 end(array) 将当前指针移动到最后一项
语法 reset(array) 将当前指针移动到默认项(与end(array)指针相对应
语法 key(array) 函数返回数组中内部指针指向的当前单元的键名
案例分析:
$arr1=array('name' =>'wjk' ,'sex'=>'男','school'=>'安阳师范学院' ); $arr2=array('html','css','js','php'); echo current($arr1);//wjk echo '<br>'; echo current($arr2);//html echo '<hr>'; echo next($arr1);//男 echo '<br>'; echo next($arr2);//css echo '<hr>'; echo next($arr1);//安阳师范学院 echo '<br>'; echo next($arr2);//js echo '<hr>'; echo prev($arr1);//男 echo '<br>'; echo prev($arr2);//css echo '<hr>'; echo end($arr1);//安阳师范学院 echo '<br>'; echo end($arr2);//php echo '<hr>'; echo reset($arr1);//wjk echo '<br>'; echo reset($arr2);///html echo '<hr>'; echo key($arr1);//name
2:数组取值?
表示将数组中的单元值一次性的赋给某些变量
按顺序从数组中中取值【结构赋值】
案例分析:
list($a,$b,$c)=array('html','css','js'); list($a,$b,$c)=array('html','css','js','php'); echo $a;//html echo '<br>'; echo $b;//css echo '<br>'; echo $c;//js
3:数组的排序?
说明:排序是针对元数组直接进行操作的
说明: 排序的时候默认是按照从小到大的顺序进行排序的,也就是正序
注意:不管是正序、还是倒序 排序的依据还是按照国际标准码表进行排序的。
语法: sotr(数组) 正序
语法 rsort(数组) 倒序
语法2:asort(数组) 等价于sort排序 但是索引的值还是保留原来的索引值
语法2:arsort(数组) 等价与rsort排序 但是索引还是保留原来的索引值
案例演示:
$arr=array('html','css','js','php'); print_r($arr);//Array ( [0] => html [1] => css [2] => js [3] => php ) echo '<br>'; sort($arr); print_r($arr);//Array ( [0] => css [1] => html [2] => js [3] => php ) echo '<br>'; rsort($arr); print_r($arr);//Array ( [0] => php [1] => js [2] => html [3] => css ) echo '<br>'; asort($arr); print_r($arr);//Array ( [3] => css [2] => html [1] => js [0] => php ) echo '<br>'; arsort($arr); print_r($arr);//Array ( [0] => php [1] => js [2] => html [3] => css )
echo '<hr>'; echo '<hr>'; $arr2=array('关羽','张飞','赵云','马超','黄忠'); print_r($arr2);//Array ( [0] => 关羽 [1] => 张飞 [2] => 赵云 [3] => 马超 [4] => 黄忠 ) echo '<br>'; sort($arr2); print_r($arr2);//Array ( [0] => 关羽 [1] => 张飞 [2] => 赵云 [3] => 马超 [4] => 黄忠 ) echo '<br>'; rsort($arr2); print_r($arr2);//Array ( [0] => 黄忠 [1] => 马超 [2] => 赵云 [3] => 张飞 [4] => 关羽 ) echo '<br>'; asort($arr2); print_r($arr2);//Array ( [4] => 关羽 [3] => 张飞 [2] => 赵云 [1] => 马超 [0] => 黄忠 ) echo '<br>'; arsort($arr2); print_r($arr2);//Array ( [0] => 黄忠 [1] => 马超 [2] => 赵云 [3] => 张飞 [4] => 关羽 )
4:关联数组的排序?
说明:关联数组是根据键来进行排序的
说明2:在排序的过程当中是针对元数组操作的
ksort(数组) 正序
krsort(数组) 倒序
案例分析
$arr = array('name' =>'wjk','sex'=>'男','scholl'=>'安阳师范' ); print_r($arr);//Array ( [name] => wjk [sex] => 男 [scholl] => 安阳师范 ) ksort($arr); echo '<br>'; print_r($arr);//Array ( [name] => wjk [scholl] => 安阳师范 [sex] => 男 ) echo '<hr>'; krsort($arr); print_r($arr);//Array ( [sex] => 男 [scholl] => 安阳师范 [name] => wjk )
5:字符串与数组的互换?分隔符
说明:返回的是一个数组可以用一个变量进行接收
语法:explode(分隔符,字符串) 将一个字符串拆分成一个数组(想外扩展,数组)
语法:implode(连接符,数组); 将一个数组拼接成一个字符串(向内收拢,字符串)
案例分析:
$str='my name is wjk'; $arr=array('html','css','js','php'); $str1=explode(' ', $str); print_r($str);//my name is wjk echo '<br>'; print_r($str1);//Array ( [0] => my [1] => name [2] => is [3] => wjk ) echo '<hr>'; print_r($arr);//Array ( [0] => html [1] => css [2] => js [3] => php ) echo '<br>'; $arr1=implode(' ', $arr); print_r($arr1);//html css js php echo '<br>'; $arr2=implode('',$arr); print_r($arr2);//htmlcssjsphp
6:关联数组的键 值 相关操作?
语法: array_key(数组) 表示将数组中的所有的“键”取出 组成一个新的数组
语法: array_value(数组) 表示将数组中的所有的“值”取出 组成一个新的数组
语法: array_key_exists(key,array) 表示判断一个数组是否存在某个键名
语法: in_array(数组的值,数组名) 表示判断输入的值是否存在这个数组当中。
注意: 键名存在则返回1 不存在则返回一个空字符串
案例演示;
$arr = array('name'=>'wjk','sex'=>'男','school'=>'安阳师范'); $key= array_keys($arr); print_r($key);//Array ( [0] => name [1] => sex [2] => school ) echo '<br>'; $val=array_values($arr); print_r($val);//Array ( [0] => wjk [1] => 男 [2] => 安阳师范 ) echo '<hr>'; print_r(array_key_exists('name',$arr));//1 echo '<br>'; print_r(array_key_exists('wjk',$arr));//如果不存在则输出一个空字符串
7:在数组的首尾进行删除一项或者是添加一项操作?
说明: 在对数组进行增删的时候是对元数组进行操作的。
语法: array_pop(数组) 删除数组的最后一项
语法: array_push(数组) 在数组的最末添加一项
语法: array_shift(数组) 删除数组的首项
语法: array_unshift(数组) 在数组的首部添加一项
案例分析:
$arr=array('html','css','js','php'); array_pop($arr); print_r($arr);//Array ( [0] => html [1] => css [2] => js ) echo '<br>'; array_push($arr,'wjk'); print_r($arr);//Array ( [0] => html [1] => css [2] => js [3] => wjk ) echo '<br>'; array_shift($arr); print_r($arr);//Array ( [0] => css [1] => js [2] => wjk ) echo '<br>'; array_unshift($arr,'sex'); print_r($arr);//Array ( [0] => sex [1] => css [2] => js [3] => wjk ) echo '<br>';