无法在Php中回显数组中的值

时间:2016-07-05 22:11:29

标签: php

为什么我不能直接回显数组中的值?

$list = array('Max', 'Alice', 'Brigitte');
echo($list); //This doesn't work 

//But this does    
foreach($list as $l){
        echo($l . " ");
    };

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可能已经注意到echo($list); 会产生一些输出:

  

阵列

这是因为$list被强制转换为echo上下文中的字符串。事实上,如果你打开警告,你会看到

  

注意:数组转换为字符串

该声明。将数组转换为字符串时defined behavior of PHP是数组总是转换为字符串"Array"

如果要在不循环的情况下打印数组的内容,则需要使用各种PHP函数之一,将数组更有效地转换为字符串。对于像$list这样的简单字符串数组,您只需使用implode

echo implode(', ', $list);

但是如果你需要处理一个更复杂的数组(例如,如果某些元素本身是数组),那么由于相同的数组到字符串转换问题,这将无法工作。

答案 2 :(得分:-1)

让我们看看能否以一种好的方式解释这一点。基本上$ list有很多元素和与之相关的东西。当回显$ list时,它并不真正知道如何处理它。它与数组数据类型在PHP中的工作方式有关。