Cum se face schimbul cheie/valoare în PHP? (Programare, Php, Php 5.4)

harry a intrebat.

Am o matrice în următorul format.

[records] => Array
    (
        [7] => Array
            (
                [available] => No
            )
        [8] => Array
            (
                [available] => No
            )            
        [9] => Array
            (
                [available] => No
            )
        [11] => Array
            (
                [available] => Yes
            )

    )

Am nevoie să interschimb valorile Da/Nu cu valorile Array keys(7,8,9,11). În mod normal, o buclă ar fi de ajuns. Cu toate acestea, aș dori să știu dacă sunt disponibile și alte metode în afară de buclă, astfel încât să pot renunța la plan pentru o buclă suplimentară.

Comentarii

  • Ce este în neregulă cu utilizarea unei bucle? –  > Por iyop45.
  • Vrei să spui că array_fill_keys? dar oricum folosește bucla în interior. Deci nu există nici un câștig. Sau poate vrei să spui ca în limbajele funcționale unde există chestia cu evaluarea leneșă. –  > Por RoughTomato.
  • Care este rezultatul exact așteptat? –  > Por Jakub Matczak.
1 răspunsuri
Nikhil Vaghela

Încercați codul de mai jos este funcționează pentru dvs.

$array=Array
    (
        [7] => Array
            (
                [available] => No
            )
        [8] => Array
            (
                [available] => No
            )            
        [9] => Array
            (
                [available] => No
            )
        [11] => Array
            (
                [available] => Yes
            )

    )
array_walk($array, function(&$value) {
    $value['available'] = "Yes";
});

De asemenea, vedeți http://php.net/manual/en/function.array-walk.php

Comentarii

  • Ați uitat declarația return. Ar trebui să fie return $value[‘available’] == „Yes”; –  > Por j4k3.
  • Nu este nevoie să se returneze, este o încercare perfectă de lucru. print_r($array). –  > Por Nikhil Vaghela.

Tags:,