Array_push() с парой значений ключа

У меня есть существующий массив, к которому я хочу добавить значение.

Я пытаюсь добиться этого, используя array_push(), но безрезультатно.

Ниже мой код:

$data = array(
    "dog" => "cat"
);

array_push($data['cat'], 'wagon');

Чего я хочу добиться, так это добавить cat в качестве ключа к массиву $data, указав в качестве значения wagon, чтобы получить к нему доступ, как показано во фрагменте ниже:

echo $data['cat']; // the expected output is: wagon

Как мне этого добиться?

Ответ 1

Так что насчет того, чтобы:

$data['cat']='wagon';

Ответ 2

Если вам нужно добавить несколько ключей => значение, попробуйте это.

$data = array_merge($data, array("cat"=>"wagon","foo"=>"baar"));

Ответ 3

$data['cat'] = 'wagon';

Это все, что вам нужно, чтобы добавить ключ и значение в массиве.

Ответ 4

Пример:

$data = array('firstKey' => 'firstValue', 'secondKey' => 'secondValue');

Для изменения значения ключа:

$data['firstKey'] = 'changedValue'; 
//this will change value of firstKey because firstkey is available in array

выход:

Массив ([firstKey] = > changedValue [secondKey] = > secondValue)

Для добавления новой пары значений ключа:

$data['newKey'] = 'newValue'; 
//this will add new key and value because newKey is not available in array

выход:

Массив ([firstKey] = > firstValue [secondKey] = > secondValue [newKey] = > newValue)

Ответ 5

Вам не нужно использовать функцию array_push(), вы можете назначить новое значение с новым ключом непосредственно в массив, например..

$array = array("color1"=>"red", "color2"=>"blue");
$array['color3']='green';
print_r($array);


Output:

   Array(
     [color1] => red
     [color2] => blue
     [color3] => green
   )

Ответ 6

Просто сделайте это:

$data = [
    "dog" => "cat"
];

array_push($data, ['cat' => 'wagon']);

* В php 7 и выше массив создается с использованием [], а не()