文章教程

5.10压入和弹出数组元素

9/17/2020 9:31:19 PM 人评论 次浏览

5.10 压入和弹出数组元素

这里所说的压入是指向数组的末尾增加一个元素,而弹出是指将数组中的最后一个元素取出。PHP提供两个函数分别完成这两个功能,这两个函数是array_push()和array_pop()。

5.10.1 压入数组元素

函数array_push()将一个或多个元素压入数组的末尾,其语法如下。


int array_push(array $array, mixed $var)

该函数将参数$array当成一个数据栈,并将传入的参数$var压入$array的末尾。array的长度将根据入栈变量的数目增加,执行正常时,该函数返回数组$array新的单元总数。代码5-19演示了该函数的用法。

代码5-19 使用函数array_push()向数组压入元素5-19.php


     01 <?php
     02 $arr = array(
     03 'Beijing',
     04 'Lodon',
     05 'Rome'
     06 );                                              //
定义数组$arr
     07 
     08 echo '
原数组:';
     09 echo '<pre>';
     10 print_r($arr);                                  //
输出数组的结构
     11 
     12 array_push($arr,'Oslo','Seoul');                //
向数组压入俩元素
     13 echo '<br/>';
     14 echo '<br/>';
     15 
     16 echo '
调用函数array_push()
之后:';
     17 echo '<br/>';
     18 print_r($arr);
     19 ?>

【代码解析】这段代码的执行结果如图5-19所示。从结果可以看出,第2次输出比第1次输出多了两个元素“Oslo”和“Seoul”,这是代码第12行的作用,使用函数array_push()将这两个元素压入数组。

5.10.2 弹出数组元素

函数array_pop()将数组最后一个元素弹出,其语法如下。


mixed array_pop(array $array)

该函数弹出并返回参数$array数组的最后一个单元,并将数组$array的长度减一。如果参数$array为空(或者不是数组),该函数将返回NULL。代码5-20演示了该函数的用法。

说明 使用本函数后会重置数组指针,相当于使用了函数reset()。

代码5-20 使用函数array_pop()弹出数组最后一个元素5-20.php


     01 <?php
     02 $arr = array(
     03 'Beijing',
     04 'Lodon',
     05 'Rome',
     06 'Moscow',
     07 'Singapore'
     08 );                                              //
定义数组$arr
     09 
     10 echo '
原数组:';
     11 echo '<pre>';
     12 print_r($arr);
     13 echo '</pre>';
     14 
     15 $arr_tmp = array_pop($arr);                     //
弹出数组最后一个元素
     16 echo '<br/>';
     17 
     18 echo '<pre>';
     19 echo 'pop
出数组的元素是:<b>'.$arr_tmp .'</b>';
     20 echo '<br/>';
     21 
     22 echo '
调用函数array_pop()
之后:';
     23 print_r($arr);
     24 ?>

【代码解析】这段代码的执行结果如图5-20所示。从结果可以看出,我们不仅要输出变化后的数组元素,还要输出被弹出数组的元素,所以第15行需要用变量$arr_tmp来获取弹出元素。

图5-19 使用函数array_push()向数组压入元素

图5-20 使用函数array_pop()弹出数组最后一个元素

教程类别