[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