PHP怎么输出arraylist_用echo或print_r直接显示数组内容【教程】

10次阅读

php没有ArrayList,只有原生array;echo/print无法输出数组内容,须用print_r、var_dump或json_encode;网页中需用htmlspecialchars+确保安全。

PHP怎么输出arraylist_用echo或print_r直接显示数组内容【教程】

PHP 里没有 ArrayList,别被 java 术语带偏了

PHP 没有 ArrayList 这个类型——那是 Java 的类。PHP 只有原生数组(array),底层是哈希表+有序列表的混合结构,既支持数字索引也支持字符串键。如果你在代码里写了 new ArrayList(),会直接报错:Fatal Error: Uncaught Error: class 'ArrayList' not found

print_r() 看数组内容最靠谱

echoprint 不能直接输出数组,它们只接受字符串或标量,对数组只会输出字符串 Array,毫无信息量。必须用专门处理结构化数据的函数:

  • print_r($arr):最常用,可读性好,适合调试;加第二个参数 true 可返回字符串而非直接输出
  • var_dump($arr):更严格,显示类型、长度、完整结构,连 NULL 和布尔值都标得清清楚楚
  • json_encode($arr, JSON_UNESCAPED_UNICODE):适合输出给前端或日志,但会丢掉非 UTF-8 兼容字符和资源类型

示例:

php $arr = ['name' => '张三', 'scores' => [85, 92]]; print_r($arr); // 输出: // Array // ( //     [name] => 张三 //     [scores] => Array //         ( //             [0] => 85 //             [1] => 92 //         ) // )

在网页中安全输出数组,记得转义 HTML

如果在 HTML 页面里直接 print_r($arr),数组里的换行、尖括号会被浏览器当标签解析,导致页面错乱甚至 xss 风险。正确做法是:

立即学习PHP免费学习笔记(深入)”;

  • htmlspecialchars() 包一层再放进
     标签里
  • 或者用 highlight_String() + var_export() 组合,生成可读又安全的代码式输出

推荐写法:

php 

别用 echo $arr,它永远只输出 “Array”

这是新手最常踩的坑。PHP 把数组转成字符串时,固定返回字面量 Array,不是空,也不是报错,就是静默丢掉所有内容。你看到的 Array 字样,和数组实际结构完全无关。

  • echo [1,2,3]; → 输出 Array
  • echo ['a'=>1]; → 还是 Array
  • echo (string)[1,2]; 结果也一样

真要拼接字符串输出,得自己遍历:echo implode(', ', $arr);,但前提是数组全是标量且你明确知道结构。

数组本身不“可打印”,能打印的是它的表现形式——选对函数、注意上下文、避开语言惯性,比记语法更重要。

text=ZqhQzanResources