13

I am not sure if I got the terms right in my title, but I am trying to do a php array_push like so

array_push($countryList, "US" => "United States");

but this gives me a syntax error.

Am I not doing this properly?

Neuron
  • 5,141
  • 5
  • 38
  • 59
user1269625
  • 3,121
  • 26
  • 79
  • 111

4 Answers4

16

Adding like

$countryList["US"] = "United States";

Pushing a value into an array automatically creates a numeric key for it.

When adding a key-value pair to an array, you already have the key, you don't need one to be created for you. Pushing a key into an array doesn't make sense. You can only set the value of the specific key in the array.

// no key
array_push($array, $value);
// same as:
$array[] = $value;

// key already known
$array[$key] = $value

;

eL-Prova
  • 1,084
  • 11
  • 27
0

If you want to push a value with key in an array then you may use the following function:

function array_push_assoc($array, $key, $value){
    $array[$key] = $value;
    return $array;
}

Usage: $array= array_push_assoc($array, 'US', 'United States');
Faizan Noor
  • 846
  • 10
  • 11
0

Try using this array merge method :

$countryList = array_merge($countryList, array("US" => "United States"));
Cà phê đen
  • 1,883
  • 2
  • 21
  • 20
-2

Refer to online php doc ...

"US" => "United States" is not a var !

Vincent MAURY
  • 253
  • 2
  • 5