在之前的文章《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()输出语句前添加一段代码:

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

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

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);
?>

输出结果:

说明:

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>";
}?>

输出结果:

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

本文转载自:https://www.php.cn/php-weizijiaocheng-480630.html

推荐:《2021年PHP面试题大汇总(收藏)》《php视频教程》

浅谈php输出数组的4种方法相关推荐

  1. linux脚本遍历数组,浅谈shell 遍历数组的几种方法

    背景 某天遇到一个问题,现象如下:第一种遍历正常打印元素,然而第二种遍历只会打印一个元素! #!/bin/bash # $1 代表文件目录 # 执行 eg: # sh your_shell.sh /u ...

  2. C语言输出数组的三种方法

    输出数组 ①下标法 #include<stdio.h> void main() {int a[10];int i;for (i = 0; i<10; i++)scanf(" ...

  3. 浅谈MySQL数据库备份的几种方法

    mysql常见的备份方式有:mysqldump.mysqlhotcopy.BACKUP TABLE .SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据 ...

  4. 浅谈数据抓取的几种方法

    在下抓数据也小有研究,现分享几个自己研究出来的抓数据的技术,可能会有很多不足的地方,欢迎大家指正补充哈哈! 方法一:直接抓取网页源码 优点:速度快. 缺点:1,正由于速度快,易被服务器端检测,可能会限 ...

  5. php 判断数组某个值,浅谈PHP检查数组中是否存在某个值 in_array 函数

    PHP in_array() 函数检查数组中是否存在某个值,如果存在则返回 TRUE ,否则返回 FALSE . 语法: bool in_array( mixed needle, array arra ...

  6. 浅谈Android文件管理器的几种实现方式(原理篇)--对我有帮助

    转自 https://blog.csdn.net/weixin_33698823/article/details/87269955 浅谈Android文件管理器的几种实现方式 为了完成毕业设计,我花费 ...

  7. java中单例的应用_浅谈Java中单例模式的几种应用

    目录 浅谈Java中单例模式的几种应用 第一种:懒汉式 第二种:饿汉式 第三种:双重检索式 第四种:注册登记式 第五种:内部类形式 浅谈Java中单例模式的几种应用 日常开发中,为了提高我们系统中对象 ...

  8. 浅谈C# 多态的魅力(虚方法,抽象,接口实现) ----转

    浅谈C# 多态的魅力(虚方法,抽象,接口实现) 2013-06-15      0 个评论       作者:做一个别人眼中的好人 收藏    我要投稿 前言:我们都知道面向对象的三大特性:封装,继承 ...

  9. python遍历数组的两种方法及将print的内容写入文件中

    python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] ...

最新文章

  1. Git Merge VS Rebase
  2. 重新格式化NameNode后,DataNode启动不起来问题解决
  3. 安徽大学计算机考研是408吗,安徽大学408计算机学科专业基础综合考研复习经验...
  4. MYSQL批量插入数据库实现语句性能分析
  5. 政策定价风控审批策略
  6. 2015年百度二面试题
  7. 浅谈Spring5 响应式编程
  8. QT安装和Hello,world
  9. Python基础----元组
  10. InnoDB的Buffer Pool简介
  11. 基于proteus的一个微程序CPU
  12. 关于NLSSORT和NLS_SORT的用法
  13. 阿里云申请域名及域名配置https
  14. Linux触摸板设置
  15. substring用法,between...and用法 trim标签的用法 模糊查询
  16. 南京大学计算机 曹云浩,【2015.青春曲园】第二十六届“迎校庆”校园十佳歌手大赛独家放送~...
  17. 【Python开发】Flask中的单点登录解决方案
  18. 8086汇编基础 debug mov al,'a'或者mov ax,'ab'错误的
  19. xstart下远程报错已拒绝X11转移申请的解决方法
  20. js鼠标移动到某个元素上改变鼠标样式,如悬浮小手、禁用鼠标、等待...

热门文章

  1. iPad有触控笔是哪几款?触控笔十大品牌
  2. 交换机cpu负载90%以上(二)【新任帮主】
  3. 数据结构与C语言精髓(逐步完善)
  4. Vue自定义指令注册
  5. 电路学习笔记(单项变压器极性判断)
  6. 301跳转 forum.php 友链,友情链接出现有跳转的原因分析
  7. 深度学习-CNN模型汇总
  8. 3200元计算机基本硬件配置单,3200元搞定i3电脑?超值家用配置推荐
  9. vue项目中img使用svg图片修改颜色
  10. android:scaleType=“centerCrop”