Ответ 1
Так что насчет того, чтобы:
$data['cat']='wagon';
У меня есть существующий массив, к которому я хочу добавить значение.
Я пытаюсь добиться этого, используя array_push()
, но безрезультатно.
Ниже мой код:
$data = array(
"dog" => "cat"
);
array_push($data['cat'], 'wagon');
Чего я хочу добиться, так это добавить cat в качестве ключа к массиву $data
, указав в качестве значения wagon, чтобы получить к нему доступ, как показано во фрагменте ниже:
echo $data['cat']; // the expected output is: wagon
Как мне этого добиться?
Так что насчет того, чтобы:
$data['cat']='wagon';
Если вам нужно добавить несколько ключей => значение, попробуйте это.
$data = array_merge($data, array("cat"=>"wagon","foo"=>"baar"));
$data['cat'] = 'wagon';
Это все, что вам нужно, чтобы добавить ключ и значение в массиве.
Пример:
$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)
Вам не нужно использовать функцию array_push(), вы можете назначить новое значение с новым ключом непосредственно в массив, например..
$array = array("color1"=>"red", "color2"=>"blue");
$array['color3']='green';
print_r($array);
Output:
Array(
[color1] => red
[color2] => blue
[color3] => green
)
Просто сделайте это:
$data = [
"dog" => "cat"
];
array_push($data, ['cat' => 'wagon']);
* В php 7 и выше массив создается с использованием [], а не()