带有键值对的Array_push ()

我有一个现有的数组,我想添加一个值。

我试图实现使用array_push()无效。

下面是我的代码:

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


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

我想要实现的是将作为键添加到$data数组,并将马车作为值,以便像下面的代码片段那样访问它:

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

我怎样才能做到呢?

391127 次浏览

那么如果有:

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

这就是向数组添加键和值所需的全部内容。

如果你需要添加多个key=>值,那么试试这个。

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

例如:

$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

输出:

Array ([firstKey] => firstValue [secondKey] => secondValue [newKey]) => newValue)

就这么做吧:

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


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

*在php 7和更高版本中,数组是使用[]创建的,而不是()

你不需要使用array_push()函数,你可以用new key直接给数组赋新值,比如..

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




Output:


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

数组['key'] = value;

$data['cat'] = 'wagon';
这就是你所需要的。 不需要为此使用array_push()函数。 有时候问题很简单,而我们思考的方式很复杂:).

<?php
$data = ['name' => 'Bilal', 'education' => 'CS'];
$data['business'] = 'IT';  //append new value with key in array
print_r($data);
?>

结果

Array
(
[name] => Bilal
[education] => CS
[business] => IT
)