• # foreach() + list()

    Posté par . En réponse à la dépêche Peuch-peuch Cinq Cinq, pour PHP 5.5. Évalué à 3. Dernière modification le 30 juin 2013 à 12:19.

    Il me semble que l'exemple n'est pas bon. Voici ce qu'il devrait être:

    $array = [
     ["MySQL", "beaucoup utilisé"],
     ["PostgreSQL", "monte"],
     ["Oracle", "trop cher"],
    ];
    foreach($array as list($name, $adj) { ... }

    Pas trop d'intérêt pour cet exemple, mais bon. C'est juste du sucre syntaxique pour remplacer:

    foreach($array as $tmp) {
     list($foo1, $foo2, ...) = $tmp;
     /* Reste du code... */
    }

    Aussi, aucune mention de la nouvelle fonction array_column() qui est pourtant bien utile!

    $data = [ ["id" => 49, "name" => "MySQL"], ["id" => 50, "name" => "PostgreSQL"], ["id" => 42, "name" => "Oracle"] ];
    $foo = array_column($data, "name", "id");
    /*
    Renvoie: [49 => "MySQL", 50 => "PostgreSQL", 42 => "Oracle"]
    */

    J'attends avec hâte qu'il soit disponible dans les paquets Arch, PHP 5.5 apporte à mon avis d'excellente nouveautés et va dans la bonne direction.