PHP没有ArrayList,只有原生array;echo/print无法输出数组内容,须用print_r、var_dump或json_encode;网页中需用htmlspecialchars+确保安全。
PHP 里没有 ArrayList,别被 Java 术语带偏了
PHP 没有 ArrayList 这个类型——那是 Java 的类。PHP 只有原生数组(array),底层是哈希表+有序列表的混合结构,既支持数字索引也支持字符串键。如果你在代码里写了 new ArrayList(),会直接报错:Fatal error: Uncaught Error: Class 'ArrayList' not found。
用 print_r() 看数组内容最靠谱
echo 和 print 不能直接输出数组,它们只接受字符串或标量,对数组只会输出字符串 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免费学习笔记(深入)”;