PHP: echo array只返回单词array而不是其内容


PHP: echoing array only returns the word array instead of its content

我是PHP的新手,希望您能帮助我。

我正在从SQL中获取一些数据,并尝试创建一个我想在页面上回声的数组。

当我回显以下($output)的结果时,这只返回单词"array",而不是我试图添加到其中的项目。

有人能告诉我我在这里做错了什么,并给我一个简短的解释吗?

$c = "";
$i = 0;
$arr = array();
$output = ''
foreach ($objNames->names as $names) {
    $c = "<img src='images/photos/photo_" . str_replace(" ", "_", $names->member) . ".png' alt='' class='clickable flagLink trackHC' />&nbsp;" . $names->member . " &nbsp;&nbsp;";
    array_push($arr, $c);
    $i++;
}
if($i != 0) {
    $output = $arr;
}

<div id="output"><?php echo $output; ?></div>
非常感谢你的帮助,迈克。

不能只回显数组

你必须用foreach循环遍历它,例如:

$c = "";
$i = 0;
$arr = array();
$output = ''
foreach ($objNames->names as $names) {
    $c = "<img src='images/photos/photo_" . str_replace(" ", "_", $names->member) . ".png' alt='' class='clickable flagLink trackHC' />&nbsp;" . $names->member . " &nbsp;&nbsp;";
    array_push($arr, $c);
    $i++;
}
if($i != 0) {
    $output = $arr;
}
foreach($output as $row) {
?>
    <div id="output"><?php echo $row; ?></div>
<?php
}

这应该为您工作!

数组必须使用:

print_r($arrayValue)

也可以保留打印值(EDITED):

$x = print_r($arrayValue, true)

,但我更喜欢json的方式,如果它是用于日志目的:

echo json_encode($arrayValue)

记住每个值必须是json可序列化的。

执行普通echo $arrayValue将始终打印没有任何内容的"Array"单词。是的,这有点不直观(因为python等其他语言不会这样做),但它就是这样。

如果您只希望查看/打印数组的内容,请尝试以下操作:

print_r ($output);