【问题标题】:PHP: echoing array only returns the word array instead of its contentPHP:回显数组仅返回单词数组而不是其内容
【发布时间】:2014-07-01 12:44:12
【问题描述】:

我对 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>

非常感谢您的帮助,迈克。

【问题讨论】:

    标签: php html arrays loops foreach


    【解决方案1】:

    你不能只回显数组。

    例如,您必须使用 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
    }
    

    这应该适合你!

    【讨论】:

    • 非常感谢您的快速帮助!对此还有一个问题。这会将所有内容回显到同一个 div(这是我需要的)还是会创建多个 div?
    • 多个 div。如果您想在同一个 div 中打印所有内容,请将 div 标签 放在 foreach 循环之外
    • @Mike 您必须像这样看到它:您现在正在获取此数组中的每个元素。对于此数组中的每个元素,您正在执行 {} 大括号中的代码
    【解决方案2】:

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

    print_r($arrayValue)
    

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

    $x = print_r($arrayValue, true)
    

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

    echo json_encode($arrayValue)
    

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

    ...

    执行普通的echo $arrayValue 将始终打印“Array”字样而没有任何内容。是的,这有点不直观(因为其他语言如 python 的行为不那样)但它就是这样。

    【讨论】:

    • 由于检测到错误而更新了答案(缺少 print_r 的可选第二个参数)。
    【解决方案3】:

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

    print_r ($output);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多