[Php-it] array ricerca ordine alfabetico

Cristiano Verondini cverondini at deis.unibo.it
Tue Apr 3 12:19:50 CEST 2007


>>     function MyFind($where, $what) {
>>
>>         $res = array();
>>         for ($i = 0, $m = count($where); $i < $m; $i++)
>>             if (substr($v = $where[ $i ], 0, 1) === $what)
>>                 $res[] = $v;
>>
>>         return $res;
>>     }
>>
>>         Cris

> Provaci ancora, Cris!
>
> function puccialo(&$arr, $lettera) {
> $s = create_function('$e', 'return $e{0} == \''.$lettera.'\';');
> return array_filter($arr, $s);
> }

    Non amo la creazione al volod elle funzioni se proprio non è necessaria. 
Nel tuo caso, non passerei l'array per riferimento (non lo devi modificare, 
ed il passaggio per riferimento è più lento di quello per valore) e userei 
l'operatore di confronto '===' (più performante nel caso di dati dello 
stesso tipo). Inoltre non amo la sintassi con le parentesi graffe per 
l'accesso ad elementi di una stringa (per quanto forse più performante, ma 
non ho fatto dei test). Per inciso mi sembra di avere letto che in PHP6 
verrà abbandonata (ma su questa cosa non sono per niente sicuro).

    Try it again, Sam! :))

        Cris




More information about the Php-it mailing list