这个问题涉及变量$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
作为输出。
问题
为什么数组没有附加这种语法?
提前感谢您的时间。
答案 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 />";
}