当前位置 : 主页 > 网络编程 > PHP >

PHP数组学习之聊聊输出数组的几种方法

来源:互联网 收集:自由互联 发布时间:2021-08-08
在之前的文章《PHP数组学习之一维数组如何创建和初始化(代码详解)》和《PHP数组学习之二维数组创建方法浅析》中我们通过代码实例介绍了一维数组和二维数组的定义方法,简单易
在之前的文章《PHP数组学习之一维数组如何创建和初始化(代码详解)》和《PHP数组学习之二维数组创建方法浅析》中我们通过代码实例介绍了一维数组和二维数组的定义方法,简单易懂。

既然数组创建并初始化了,然后进行一番操作后,就需要输出,将操作结果打印出来。那么PHP数组如何输出呢?下面本篇文章就来给大家介绍一下数组输出的几种方法:print_r()、var_dump()、echo/print。(附:PHP函数之array数组函数视频讲解)

1、使用print_r()输出数组

print_r()函数用于以更容易理解的形式打印变量,通过print_r()函数可以将整个数组的内容及结构进行输出,且会按照一定格式显示键和元素。

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
 print_r($array);
?>

输出结果:

Array ( [0] => Array ( [姓名] => 张三 [年龄] => 25 [性别] => 男 ) [1] => Array ( [姓名] => 李四 [年龄] => 21 [性别] => 男 ) [2] => Array ( [姓名] => 娜娜 [年龄] => 22 [性别] => 女 ) )

是不是感觉输出结果太长,并不利用阅读。可以在print_r()输出语句前添加一段代码“echo '<pre>';”:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
echo '<pre>';
 print_r($array);
?>

这样输出的结果就更利于阅读,输出结果:

1.png

2、使用var_dump()输出数组

同print_r()函数类似,var_dump()函数也可以可以将整个数组的数据内容及结构进行输出。不过var_dump()比 print_r() 更强大,可以同时打印多个变量且给出变量的类型信息。

var_dump()函数可以输出变量的相关信息(类型与值),输出数组时,数组将递归展开值,通过缩进显示其结构。

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
 var_dump($array);
?>

输出结果:

2.png

说明:

print_r() 和 var_dump() 函数一般是用于调试程序使用,更多情况是使用 echo 来输出具体的数组单元值。

3、使用echo/print输出数组

echo()用于输出一个或多个字符串。

严格来讲 echo 并不是一个函数,它实际上是一种语言结构;因此不一定必须使用小括号来指明参数,使用单引号、双引号也可以。

然而,如果向 echo() 传递一个以上的参数,那么就不能使用小括号了,因为将会生成解析错误。

print()和echo()有点类似(它实际上也是一种语言结构),但不同点是echo可以接受多个参数并且没有返回值,而print()只能接受一个参数并且有返回值。

使用echo/print进行数组输出时,只能对某数组中的某一元素进行输出。下面我们通过代码实例来具体看看:

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
//输出语句
echo '$array[0] = '.$array[0].'<br>';
echo '$array[1] = '.$array[1].'<br>';
echo '$array[2] = '.$array[2].'<br>';

print '$array[3] = '.$array[3].'<br>';
print '$array[4] = '.$array[4].'<br>';
print '$array[5] = '.$array[5].'<br>';
?>

输出:

$array[0] = 香蕉
$array[1] = 苹果
$array[2] = 梨子
$array[3] = 橙子
$array[4] = 橘子
$array[5] = 榴莲

$数组变量名[下标]”形式的语句是用来访问数组中元素的,以确定需要输出的元素。例如上面的例子中,“$array[0]”就是访问数组中的第一个元素(索引数组数组的下标从零开始),因此“echo $array[0]”语句可输出“香蕉”。

而如果想要输出数组中的全部元素,需要借助循环语句,遍历数组,将数组中的元素一一输出。

下面就以foreach语句为例,来详细看看如何循环遍历数组,输出数组中的全部元素:(附视频教程:foreach循环)

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
foreach ($array as $val){  // 遍历数组
	//输出数组元素
    echo $val."<br>";  
}

?>

输出结果:

香蕉
苹果
梨子
橙子
橘子
榴莲

网友评论