Bir PHP ilişkisel diziye bir öğe ekle

6 Cevap php
1=>america,2=>India,3=>england

Yukarıda benim ilişkisel dizidir. Nasıl dizinin önüne 3 => İngiltere getirebilir?

6 Cevap

array_pop ve array_unshift kullanın.

$lastItem = array_pop($array);
array_unshift($array, $lastItem);

Bunun için array_unshift işlevini kullanabilirsiniz.

$array = array('americ', 'India');
array_unshift($array, 'englans');
print_r($array);

Output:

Array
(
    [0] => englans
    [1] => americ
    [2] => India
)

Eğer dizi tuşlarını kullanmak korumak istiyorsanız array_slice(,,,TRUE).

$array = array_slice( $array, -1, 1, TRUE ) + array_slice( $array, 0, -1, TRUE );

Sen array_reverse, dokümanlar http://php.net/manual/en/function.array-reverse.php bulabileceğiniz ile yapabilirsiniz

Ben o aynı yerde kalmak zorunda o foreach ve dizinin kalanı ile kullanabilirsiniz böylece ön elemanı 3 => İngiltere istiyor düşünüyorum

O bu sonucu istediği daha

$array[1] = 'america';
$array[2] = 'India';
$array[3] = 'england';
$new_array[3] = $array[3];
$new_array[1] = $array[1];
$new_array[2] = $array[2];
print_r($new_array);

Orada bir fonksiyon muhtemelen ama yani ben bir tane yaptım i cant bulmak

function placeLastToFirst($array){
    $newArray = array();
    $newArray[count($array)] = $array[count($array)];
    for($i = 1;$i < count($array);$i++){

        $newArray[$i] = $array[$i ];
    }
    return $newArray;
}

Eğer dizi (normal diziler 0 ile başlar) 1 ile başlar, bu fonksiyon sadece çalışacaktır çünkü dışarı bakmak gerekiyor. Bu durumda bu birini kullanabilirsiniz

function placeLastToFirst($array){
    $newArray = array();
    $newArray[count($array)-1] = $array[count($array)-1];
    for($i = 0;$i < count($array)-1;$i++){

        $newArray[$i] = $array[$i];
    }
    return $newArray;
}