php数组学习之颠倒顺序,反向打印全部元素

来自:互联网
时间:2021-08-11
阅读:

说到倒序输出数组元素,我的第一反应是使用for循环反向循环遍历数组,下面是我给出的实现方法:

<?php
$array=array("Volvo","BMW","Toyota");
for($i=count($array)-1; $i >= 0; $i--) { 
    echo $array[$i] . "<br/>";
} 
?>

使用for循环,设置初始化语句“$i=count($array)-1”,变量$i的值为数组长度;设置$i--让变量$i的值自减,当$i<0时结束循环。然后就可以根据数组下标($i值)来倒序输出数组。看看输出结果:

php数组学习之颠倒顺序,反向打印全部元素

可以看出,反向打印了全部元素。

但这种方法只能用于键名是数字的索引数组,那么如果是下面的关联数组:

$array=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");;

要如何倒序输出数组元素呢?可以借助array_reverse()函数。

思路:

  • 先使用array_reverse()函数反转数组,它会翻转数组元素的顺序,然后返回翻转后的数组。

  • 然后使用foreach循环语句遍历该反转数组,输出里面的元素即可。

下面是我给出的实现方法:

<?php
header("Content-type:text/html;charset=utf-8");
$array=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");;
foreach(array_reverse($array) as $key=>$value){ 
echo "键名为:".$key.",键值为:".$value . "<br/>";
} 
?>

输出结果为:

键名为:c,键值为:Toyota
键名为:b,键值为:BMW
键名为:a,键值为:Volvo

下面我们来了解一下array_reverse()函数。

array_reverse( $array, $preserve )函数返回一个单元顺序相反的数组,它接受一个必需参数$array和一个可省略的参数$preserve(默认值为true)。

参数$preserve可以指定是否保留原始数组的数字键名(非数字的键是不受影响的),当值设置为false则表示不保留数字键名。

<?php
$a=array("php", 7.0, array("green", "red"));
$reverse=array_reverse($a);
$preserve=array_reverse($a,true);

var_dump($a);
var_dump($reverse);
var_dump($preserve);
?>

输出结果为:

php数组学习之颠倒顺序,反向打印全部元素

返回顶部
顶部