为什么没有附加PHP数组?

时间:2014-02-11 23:13:33

标签: php arrays

这个问题涉及变量$message_to_user

的最终状态

考虑以下简化功能:

function myArrayFunction()
{
    $message_to_user = array();

    $message_to_user[] = array('A Success Message', true);
    $message_to_user[] = array('An Error Message', false);

    echo $message_to_user;
    return $message_to_user;
}

请注意我在返回数组之前echo进行故障排除,并始终以Array作为输出。

问题

为什么数组没有附加这种语法?

提前感谢您的时间。

4 个答案:

答案 0 :(得分:4)

是的,你不能只是echo这样的数组。它只会告诉你“嘿芽,我是一个阵列。”

尝试使用var_dump($message_to_user)print_r($message_to_user)

答案 1 :(得分:0)

您无法回显数组,请使用print_r();

function myArrayFunction()
{
    $message_to_user = array();

    $message_to_user[] = array('A Success Message', true);
    $message_to_user[] = array('An Error Message', false);

    print_r($message_to_user);
    return $message_to_user;
}

答案 2 :(得分:0)

echo需要一个字符串,如文档所述。

  

void echo(string $ arg1 [,string $ ...])

旁注:回声不再是一个功能。阅读上面链接的文档。

数组不是常规字符串。它们是数据的集合,为此目的,您需要一个适当的功能。 PHP主要提供print_r()var_dump(),第一个更友好,而且能够显示结构中每个最小部分的数据类型和长度。

在PHP的文档中,您将发现如下代码:

<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

正如另一个侧面说明:<pre>标记保留了文本的标识和换行符,html在显示内容时不会考虑这一点。如果你和我一样不耐烦,你也会在浏览器显示的源代码中看到这样的身份。

答案 3 :(得分:0)

N.B。:我不打算超越RUJordan's已接受的答案或其他人的答案。

这是否有用并且可以证明是有用的/有用的,我只是提供替代答案,欢迎使用它。

以下将打印:

0 =&gt;成功留言
1 =&gt;错误信息
2 =&gt;不同的消息
成功留言
错误信息
不同的消息

<?php
$myArray = array();
$myArray[0] = "A Success Message";
$myArray[1] = "An Error Message";
$myArray[2] = "A Different Message";

 foreach($myArray as $key => $value){
    echo $key . " => " . $value . "<br />";
}

echo $myArray[0];
echo "<br>";
echo $myArray[1];
echo "<br>";
echo $myArray[2];

虽然以下将产生相同的结果,减去数组键:

成功消息
错误信息
不同的消息

<?php
$myArray = array();
$myArray[0] = "A Success Message";
$myArray[1] = "An Error Message";
$myArray[2] = "A Different Message";

foreach($myArray as $value){
    echo $value . "<br />";
}
相关问题