[Php-it] array ricerca ordine alfabetico

Cristiano Verondini cverondini at deis.unibo.it
Tue Apr 3 16:24:38 CEST 2007


>>> 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.
>
> Concordo, ma era il modo più veloce (intendo tempo fisico di
> battitura) per scrivere sta cosa, non il migliore. Ritengo cmq la mia
> soluzione migliore della tua, a patto che si metta un commento prima
> della chiamata ad array_filter in cui si spieghi cosa faccia... :-D

    Il problema è che se non fai come hai fatto (creazione al volo della 
funzione) sei costretto ad usare una funzione nello scope globale che faccia 
riferimento a sua volta ad una globale (oppure con un trucchetto puoi usare 
una statica). Oppure un oggetto.

> Il passaggio per riferimento è un errore che non ho corretto perché
> andavo di corsa dato che avevo scritto prima il codice in un modo poi
> mi sono ricordato di una cosa e ho usato un altro approccio (nel giro
> di 5 minuti).

    ;)

> Preoccuparmi di PHP 6 mi pare un po' pretestuosa come argomentazione,
> anche perché ti potrei rispondere citando la mia versione del manuale
> (datata 14-02-2005 sezione Types > Strings):
>
> "Note:  For backwards compatibility, you can still use array-brackets
> for the same purpose. However, this syntax is deprecated as of PHP 4"
>
> Che dice praticamente il contrario della versione attualmente
> online. Indubbiamente devo aggiornala! :-D

    Già in PHP 5.1 l'uso delle graffe genera un warning. Giusto oggi ne 
parlavo con dei tecnici di Zend, a proposito della migrazione 4 -> 5 (meglio 
tardi che mai! :P ). E comunque, se l'uso è deprecato, come filosofia già da 
adesso lo evito :))

        Cris

-- 
Cristiano Verondini
http://www.verondini.it  ---   [ICQ: 114 190] 



More information about the Php-it mailing list