array_push() with key value pair
To add an element to the end of an array with a key-value pair in PHP, you can use the array_push() function.
To add key-value pairs to an array in PHP, the most reliable method is using the direct assignment syntax: $array['key'] = 'value'.
Adding key-value pairs to an array in PHP
<?php
$array = array('apple' => 'red', 'banana' => 'yellow');
$array['mango'] = 'orange';
$array['pear'] = 'green';
print_r($array);Output:
Array ( [apple] => red [banana] => yellow [mango] => orange [pear] => green )Note that array_push() is designed for appending sequential values and cannot merge key-value pairs. When you pass an associative array to array_push(), PHP treats it as a single element and assigns it a numeric key, which nests the array instead of adding its pairs to the target array:
How array_push() handles associative arrays
<?php
$array = array('apple' => 'red', 'banana' => 'yellow');
array_push($array, array('mango' => 'orange', 'pear' => 'green'));
print_r($array);Output:
Array ( [apple] => red [banana] => yellow [0] => Array ( [mango] => orange [pear] => green ) )If you only need to append values to the end of an array, array_push() works as expected:
Using array_push() for sequential values
<?php
$array = array('apple', 'banana');
array_push($array, 'mango', 'pear');
print_r($array);Output:
Array ( [0] => apple [1] => banana [2] => mango [3] => pear )For merging existing associative arrays, consider array_merge() or the + operator instead.
Merging associative arrays with array_merge()
<?php
$array1 = array('apple' => 'red', 'banana' => 'yellow');
$array2 = array('mango' => 'orange', 'pear' => 'green');
$merged = array_merge($array1, $array2);
print_r($merged);Output:
Array ( [apple] => red [banana] => yellow [mango] => orange [pear] => green )