PHP Implode Prints" Array"而不是价值

时间:2015-09-28 19:37:01

标签: php

以下是检索数据的PHP代码:

<?php
$sql = $myquery;
$result = $conn->query($sql);

$QueryArray = array();
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {

    $QueryArray[] = Array($row["Column1"], $row["Column2"], $row["Column3"]);

    }

} else {

}
?>

在HTML方面:

<textarea style="width:100%; height:50%; resize:none; rows="5" cols="40">
<?php 
$output = implode("\n" , $QueryArray);
echo $output;
?>
</textarea>

但是以下查询打印:

Array
Array
Array
Array
..etc

不确定代码出错的地方。

2 个答案:

答案 0 :(得分:3)

正如您所看到的,$QueryArray是一个数组数组

$QueryArray[] = Array($row["Column1"], $row["Column2"], $row["Column3"]);

您可以在foreach循环中访问$queryArray元素(数组)。比使用implode打印你想要的东西。

<textarea style="width:100%; height:50%; resize:none; rows="5" cols="40">
<?php
$output = '';
foreach($array in $QueryArray) {
    $output .= implode("\n" , $array);
}
echo $output;
?>
</textarea>

我希望它有所帮助

答案 1 :(得分:0)

在你的代码中$ QueryArray是一个数组数组。如果您的字段数已知,您可以:

<?php 
$sql = $myquery;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
   while($row = $result->fetch_assoc()) {
      $QueryArray[] = $row["Column1"];
      $QueryArray[] = $row["Column2"];
      $QueryArray[] = $row["Column3"];
}
} else {}
?>