Home » Php » Adding columns to existing php arrays

Adding columns to existing php arrays

Posted by: admin July 12, 2020 Leave a comment

Questions:

Using PHP let’s assume that I have successfully read a record from a MySQL table using the fetch_object method and I am holding the row data in a variable call $output:

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

If I wanted to add two additional fields: “cls” and “parentID” to $output as if they were apart of $row, how would I accomplish this? Thanks!

How to&Answers:

Loop through the array by reference and add what you want after the while loop:

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

You can also do this within the while loop:

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

Answer:

Since you changed the code snippet in your question, try this instead now (updated version):

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

Answer:

$myArray=array_merge($myArray,$myAddArray);

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

or use array_push()

apply it in the foreach/while loop for each row.