PHP:echoing数组只返回单词数组而不是其内容

时间:2014-05-13 17:39:04

标签: php html arrays loops foreach

我是PHP的新手,希望你能帮我解决这个问题。

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

当我回显下面的结果($output)时,这只会返回我试图添加到其中的项目的“数组”字样。

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

$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>

非常感谢任何帮助,迈克。

3 个答案:

答案 0 :(得分:3)

你不能只回显数组。

你必须用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
}

这对你有用!

答案 1 :(得分:2)

必须使用以下方式打印数组:

print_r($arrayValue)

您也可以保留打印值(已编辑):

$x = print_r($arrayValue, true)

但是我喜欢json方式,如果它用于记录目的:

echo json_encode($arrayValue)

请记住,每个值都必须是json-serializable。

...

执行普通echo $arrayValue将始终打印&#34;数组&#34;没有任何内容的词。是的,它有点不直观(因为像python这样的其他语言并不像那样),但事实就是如此。

答案 2 :(得分:0)

如果您只想查看/打印阵列的内容,请尝试以下操作:

print_r ($output);