如何在 PHP 中保留数组的第一个值


How to preserve first value of an array in PHP?

我在php中有一个数组。首先,我在其中添加了值。然后在循环中,我想在其中添加更多值。如何在 PHP 中做到这一点?

这是我的代码:

$household_affected[]=array('Barangay Name', 'No. of affected households');
    for($i=0;$i<mysqli_num_rows ( $result );$i++){
        $row=mysqli_fetch_row($result);
        $household_affected[]= array($row[0],$row[1]);
        echo "" . $row[0]. " - " . $row[1]."<br>";
    }

我想得到一个仍然包含添加到它的第一个值的数组。但是在循环中,它被新值替换,第一个值消失了。我该怎么做?输出如下所示:

Brgy.1, 0
Brgy.2, 0
Brgy.3, 0

我想要这样。

Barangay Name, No. of affected households
Brgy.1 0
Brgy.2 0
Brgy.3 0

你的输出看起来像这样,因为你做了

    echo "" . $row[0]. " - " . $row[1]."<br>";

在你的循环中也是如此。但是该循环不会访问任何早期元素。

最后试试这个,看看有什么$household_affected

print_r($household_affected);

或者为了在浏览器中更易于阅读的视图:

echo "<pre>".print_r($household_affected,true)."</pre>";

如果你想在以后使用$household_affected做一些事情:

foreach($household_affected as $household){
  echo "" . $household[0]. " - " . $household[1]."<br>";
}

您是否尝试过print_r($household_affected)循环外。它将打印您想要的结果。无需更改代码,只需打印该数组即可。

演示 : http://codepad.org/xoNdrH9I

你应该

使用

array_push($household_affected, $row[0],$row[1]);

这将保存数组中的所有值