大家好,我有一个从方法返回的数据库结果。我需要再将4个值压入堆栈,但我需要命名密钥。 array_push()自动赋值int。我怎样才能克服这种行为?
Array
(
[these] => df
[are] => df
[the] => sdf
[keys] => sd
[ineed] => daf
[0] => something
[1] => something
[2] => something
[3] => something
)
需要更改int值的键。我怎么能用array_push做到这一点?
答案 0 :(得分:5)
就像这样:
$arr['anotherKey'] = "something";
$arr['yetAnotherKey'] = "something";
$arr['andSoOn'] = "something";
或
$arr = array_merge($arr, array(
'anotherKey' => "something",
'yetAnotherKey' => "something",
'andSoOn' => "something"
));
...但我建议使用第一种方法,因为它只会向数组中添加更多元素,而第二种方法会产生更多开销(尽管在某些情况下它会更加灵活)。
答案 1 :(得分:3)
为什么不
$arr["whateveryouwant"] = something
注意:如果使用array_push()添加 数组中的一个元素更好 使用$ array [] =因为这样 没有呼叫的开销 功能
答案 2 :(得分:3)
如果您要使用的四个值本身已经在关联数组中,则可以使用+
合并两个数组:
$array1 = array('these' => ..., 'are' => .., 'keys' => ...);
$four_entries = array('four' => ..., 'more' => ..., 'keys' => ..., '!' => ...);
$merged_array = $array1 + $four_entries;
答案 3 :(得分:2)
如果要向阵列添加更多条目,您只需要:
现有数组;
$array =
{
"these" => "df"
"are" => "df"
"the" => "sdf"
"keys" => "sd"
"ineed" => "daf"
}
添加到数组
$array["new_key1"] = "something";
$array["new_key2"] = "something";
答案 4 :(得分:2)
如果您想指定名称而不使用array_push
功能,只需指定元素:
$array['somekey'] = 'somevalue';
因此,简而言之,您不能使用array_push
。