PHP - 如何为数组键指定名称而不是使用array_push指定int

时间:2009-08-21 08:13:06

标签: php

大家好,我有一个从方法返回的数据库结果。我需要再将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做到这一点?

5 个答案:

答案 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