PDA

Visualizza versione completa : PHP - Problema con array_multisort & variabili


fnneba
21-11-2006, 17.13.35
Ciao,



ho un problema con l'istruzione array_multisort :



Devo sortare l'array prezzo($prezzo) in maniera discendente e di conseguenza utilizzo l'istruzione :



array_multisort($prezzo,SORT_DESC);



Cosi' funziona tutto perfettamente.



se pero' passo l'argomento della funzione in una variabile :



$sort = "$prezzo,SORT_DESC";



l'istruzione array_multisort($sort) genera un errore in quanto la funzione di sort prevede come primo parametro un array mentre io gli passo una stringa!!!



Esiste un modo per far capire al php che quello che gli passo nella variabile $sort contiene tutto il necessario alla funzione array_multisort????

Semi.genius
21-11-2006, 21.07.22
Non credo sia possibile perchè la funziona continuerà a richiedere sempre due argomenti da come è costruita.

Potrei chiederti il perché lo vorresti fare?

quipo.it
21-11-2006, 21.55.33
Se il tuo problema è passare un'unica variabile alla funzione,
puoi usare call_user_func_array($func_name, $array_of_parameters):

http://it2.php.net/manual/en/function.call-user-func-array.php


call_user_func_array('array_multisort', array(&$prezzo, SORT_DESC));


Se invece hai la stringa e vuoi spezzarla nelle varie parti, prova con
$array = explode($separator, $string);

In ogni caso, con il codice:
$sort = "$prezzo,SORT_DESC";
fai un grosso errore concettuale, in quanto $prezzo è un array, non una stringa, e non puoi "serializzarlo" in quel modo.
E SORT_DESC è una costante (numerica), non una stringa (SORT_DESC != 'SORT_DESC')