Newsgroup: it.comp.www.php
Titolo: Domanda su usort()

Ciao a tutti,
Iniziando la curiosità su php ho visto tra i link postati in questo NG 
quello relativo alle funzioni per gli array.
Una domanda facile facile è che non capisco bene il significato di uasort().
Quella un po' più curiosa è che usort() può usare una funzione che decide 
l'ordine degli elementi e l'esempio è
<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
?>
Domandona: a me piace l'OOP, quindi mettiamo che cmp sia una funzione di una 
classe :)
Ho tentato un
usort($a, "$comparer->cmp");
ma non funziona :P
Non esiste una soluzione?
Ciao 

 Non esiste una soluzione?
http://it.php.net/manual/en/function.usort.php
Esempio 322.
Bye.

 ha scritto nel messaggio 
news:pan.2007.08...@amiran.it...

Acc... sono stato un po' superficiale :)
Provato e funziona, però l'esempio 322 non è il massimo.
Parla di funzione statica ma non è indicata come tale.
Poi viene passato il nome della classe anzichè l'istanza, quindi solo su 
funzioni "statiche"...
Tra l'altro ho provato a fare un
usort($a, array(TestObj, "cmp_obj"));
anzichè
usort($a, array("TestObj", "cmp_obj"));
e funziona ugualmente: "colpa" delle conversioni implicite di php?
Per "pulizia" esiste una funzione che dato il nome di una classe o di 
un'istanza mi restituisce la stringa del nome della classe?
Domanda che non centra niente :)
Non sono riuscito a trovare se e come sia possibile definire parametri di 
una funzione di tipo mixed come avviene per la funzione array().
Come si fa?
Ciao, grazie 

 Ciao, grazie
se ho capito bene cosa chiedi.. e' una funzionalita' automatica..
-- 
www.iuz-lab.info
 - 
www.php-faq.org

 se ho capito bene cosa chiedi.. e' una funzionalita' automatica..
Sě, anche qui stavo cercando di capire, ho sbagliato un po' a fare la 
domanda.
Volevo dire, array() richiede una lista indefinita di parametri.
Come posso dichiarare e usare questi parametri in una mia funzione 
my_array() che si comporta allo stesso modo?
Poi ho avuto un problema un po' strano in una dichiarazione tipo
function my_func(int param = 0)
che ho dovuto cambiare in
function my_func(int param = null)
perchč la chiamata a questa funzione faceva esplodere e terminare 
l'esecuzione dello script... :(
Ciao 

 Ciao
PHP e' scarsamente tipizzato..
function my_func($param)
e' sufficiente per quello che vuoi fare.. se poi vuoi che sia un intero
controlli il valore all'interno della funzione..
so' che puo' sembrarti strano.. ma per programmatori un'po' piu' esperti
queste funzionalita' possono rivelarsi utili.. il rovescio e' che per i
principianti, a volte, porta molto fuori strada..
PHP e' un linguaggio che non protegge eccessivamente il programmatore dal
fare errori.. e questo secondo me e' una cosa molto buona..
-- 
www.iuz-lab.info
 - 
www.php-faq.org

 fare errori.. e questo secondo me e' una cosa molto buona..
Cioè è una buona cosa riuscire a fare errori?
Sono capitato nel posto sbagliato :P
E per la storia del numero sconosciuto di parametri come per array()?
Ciao 

 Ciao
http://php.net/func_get_args
-- 
www.iuz-lab.info
 - 
www.php-faq.org

 
http://php.net/func_get_args
Sì, l'avevo trovato, ormai il manuale php ho imparato a sfogliarlo 
completamente.
A comprenderlo nella sua superficialità un po' meno :)
Ancora non ho capito come fare a lanciare programma in background (magari 
non via http), e la proc_open() non c'è verso di farla andare, leggo di 
usare la popen() ma non fanno mai la pclose() che comunque attende il 
termine del processo...
Il problema non è scrivere php, il problema è capire cosa fa e come.
Ciao

 Ciao
forse puoi risolvere in altri modi..
http://php-faq.org/SimpleDaemon
un piccolo demone potrebbe fare al caso tuo.. dipende da cosa vuoi fare..
-- 
www.iuz-lab.info
 - 
www.php-faq.org