2
Good when I want to organize an array in alphabetical order based on an array field I do so:
// Compara se $a é maior que $b
function cmp($a, $b) {
return $a['nome'] > $b['nome'];
}
// Ordena
usort($produtos, 'cmp');
This works perfectly, but wanted to simplify everything in a single function, to facilitate when I call.
They try to do so:
function Ordena_Array ($array, $campo) {
// Compara se $a é maior que $b
function cmp($a, $b) {
return $a[$campo] > $b[$campo];
}
// Ordena
return usort($array, 'cmp');
}
Example of how I tried to do
$array = array(
array( 'nome' => 'Alexandre', 'idade' => '65' ),
array( 'nome' => 'Alex', 'idade' => '33' ),
array( 'nome' => 'Zezinha', 'idade' => '29' ),
array( 'nome' => 'Rosana', 'idade' => '64' )
);
function Ordena_Array ($array, $campo) {
// Compara se $a é maior que $b
function cmp($a, $b) {
return $a[$campo] > $b[$campo];
}
// Ordena
return usort($array, 'cmp');
}
// Mostra os valores
print_r( Ordena_Array ($array, "nome") );
Mistakes :
NOTICE Undefined variable: campo on line number 14
NOTICE Undefined index: on line number 14
Note: I am using PHP 7.2
This problem is pq vc is putting a string in place of a parameter in the function
Ordena_Array
.– Phiter
Which version of PHP you are using?
– Phiter
I’ll edit the question, it’s not very clear.
– Hugo Borges
So I changed the question.
– Hugo Borges