向现有php数组添加列


Adding columns to existing php arrays

使用PHP,假设我已经使用fetch_object方法成功地从MySQL表中读取了一条记录,并且我将行数据保存在变量调用$output中:

while($row = $result->fetch_object())
{
   $output[] = $row;
}

如果我想在$output中添加两个额外的字段:"cls"answers"parentID",就好像它们是$row的一部分一样,我该如何实现这一点?谢谢

通过引用循环遍历数组,并在while循环后添加所需内容:

foreach( $output as &$row) {
    $row->cls = 0;
    $row->parentID = 1;
}

你也可以在while循环中这样做:

while($row = $result->fetch_object()) {
    $row->cls = 0;
    $row->parentID = 1;
    $output[] = $row;
}

由于您更改了问题中的代码片段,请立即尝试(更新版本):

while(...) {
   $row->cls = ...;
   $row->parentID = ...;
   $output[] = $row;
}
$myArray=array_merge($myArray,$myAddArray);

https://www.php.net/manual/en/function.array-merge.php

或使用array_push()

将其应用于每行的foreach/while循环中。