PHP: array数组常用API

ahxxx 2019-06-25

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

相关推荐