PHP - Nasıl benim dizi tuşunun yerine array_push ile bir int bir ad atayabilirsiniz

5 Cevap

Hey herkes, ben bir yöntem döndüren bir veritabanı sonuç var. Ben yığına 4 daha değer itmek gerekiyor ama ben anahtarları isim gerekir. array_push () otomatik olarak bir int atar. Ben nasıl bu davranış aşabiliriz?

Array
(
    [these] => df
    [are] => df
    [the] => sdf
    [keys] => sd
    [ineed] => daf
    [0] => something
    [1] => something
    [2] => something
    [3] => something
)

Int değerler anahtarlar değiştirilmesi gerekir. Bunu nasıl array_push kullanarak yapabilirsiniz?

5 Cevap

Dört values kullanmak istediğiniz bir ilişkisel dizi kendileri zaten iseniz, + iki diziyi birleştirmek için kullanabilirsiniz:

$array1 = array('these' => ..., 'are' => .., 'keys' => ...);
$four_entries = array('four' => ..., 'more' => ..., 'keys' => ..., '!' => ...);

$merged_array = $array1 + $four_entries;

Tıpkı bunun gibi:

$arr['anotherKey'] = "something";
$arr['yetAnotherKey'] = "something";
$arr['andSoOn'] = "something";

veya

$arr = array_merge($arr, array(
    'anotherKey' => "something",
    'yetAnotherKey' => "something",
    'andSoOn' => "something"
));

...but I'd recommend the first method, since it merely adds mveyae elements to the array, whereas the second will have a lot mveyae overhead (though it's much mveyae flexible in some situations).

Eğer isim atamak isterseniz array_push işlevini kullanmayın, sadece öğe atamak:

$array['somekey'] = 'somevalue';

Yani, kısacası, sen yapamam kullanarak array_push.

Neden olmasın

$arr["whateveryouwant"] = something

Note: If you use array_push() to add one element to the array it's better to use $array[] = because in that way there is no overhead of calling a function.

Eğer diziye daha girdilerini eklemek istiyorsanız, yapmanız gereken tek şey:

Mevcut dizi;

$array = 
{
    "these" => "df"
    "are" => "df"
    "the" => "sdf"
    "keys" => "sd"
    "ineed" => "daf"
}

Diziye ekleme

$array["new_key1"] = "something";
$array["new_key2"] = "something";