Alphabetical ordering in Array with objects in array PHP

0

I have the following array in php:

Array(
  [0] => Array([id] => 1 [nome] => b parceiro um [status] => true [descricao] => <p>Descrição do parceiro</p>)
  [1] => Array([id] => 3 [nome] => f parceiro tres [status] => true [descricao] => <p>Descrição do parceiro</p>)
  [2] => Array([id] => 4 [nome] => z parceiro quatro [status] => false [descricao] => <p>Descrição do parceiro</p>)
  [3] => Array([id] => 5 [nome] => a parceiro cinco [status] => true [descricao] => <p>Descrição do parceiro</p>)
  [4] => Array([id] => 7 [nome] => e parceiro sete [status] => true [descricao] => <p>Descrição do parceiro</p>)
}

And I have a for which will later build a listing of this array in HTML, however I want to do this listing in alphabetical order taking into account the field nome .

What is the best way to do this? Thank you.

    
asked by anonymous 10.04.2017 / 23:58

1 answer

3

Given the entry:

$values = [
  0 => ['id' => 1, 'nome' => "b parceiro um", 'status' => true, 'descricao' => "<p>Descrição do parceiro</p>"],
  1 => ['id' => 3, 'nome' => "f parceiro tres", 'status' => true, 'descricao' => "<p>Descrição do parceiro</p>"],
  2 => ['id' => 4, 'nome' => "z parceiro quatro", 'status'=> false, 'descricao' => "<p>Descrição do parceiro</p>"],
  3 => ['id' => 5, 'nome' => "a parceiro cinco", 'status' => true, 'descricao' => "<p>Descrição do parceiro</p>"],
  4 => ['id' => 7, 'nome' => "e parceiro sete", 'status' => true, 'descricao' => "<p>Descrição do parceiro</p>"],
];

I think you can easily resolve your issue with the usort function:

usort($values, function($a, $b){ return $a['nome'] >= $b['nome']; });

The output will be:

Array
(
    [0] => Array
        (
            [id] => 5
            [nome] => a parceiro cinco
            [status] => 1
            [descricao] => <p>Descrição do parceiro</p>
        )

    [1] => Array
        (
            [id] => 1
            [nome] => b parceiro um
            [status] => 1
            [descricao] => <p>Descrição do parceiro</p>
        )

    [2] => Array
        (
            [id] => 7
            [nome] => e parceiro sete
            [status] => 1
            [descricao] => <p>Descrição do parceiro</p>
        )

    [3] => Array
        (
            [id] => 3
            [nome] => f parceiro tres
            [status] => 1
            [descricao] => <p>Descrição do parceiro</p>
        )

    [4] => Array
        (
            [id] => 4
            [nome] => z parceiro quatro
            [status] => 
            [descricao] => <p>Descrição do parceiro</p>
        )

)

You can see the code working in Repl.it or Ideone .

    
11.04.2017 / 00:07