Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function imprime($array) {
- $tam = count($array);
- foreach ($array as $i => $value) {
- if (is_array($array[$i]))
- imprime($array[$i]);
- else {
- if ($i < ($tam - 1))
- echo "$i => $array[$i], ";
- else
- echo "$i => $array[$i]";
- }
- }
- echo "<br>";
- }
- function pega($a, $d) {
- foreach ($a as $i => $value) {
- if (strcmp($d, $i) == 0) {
- return $a[$i];
- } else if (is_array($a[$i])) {
- return pega($a[$i], $d);
- }
- }
- }
- function confere($a1, $a2, $d) {
- $aux1 = pega($a1, $d);
- $aux2 = pega($a2, $d);
- if (strcmp($aux1, $aux2) > 0)
- return 1;
- else
- return 0;
- }
- function ordena(&$array, $dado) {
- $vet = explode('.', $dado);
- $tam = count($vet);
- $string = $vet[$tam - 1];
- foreach ($array as $i => $value) {
- foreach ($array as $j => $value) {
- if (is_array($array[$i]) && is_array($array[$j])) {
- if (confere($array[$i], $array[$j], $string) == 0) {
- $aux = $array[$i];
- $array[$i] = $array[$j];
- $array[$j] = $aux;
- }
- }
- }
- }
- }
- $carros = array(
- 0 => array(
- 'Carro' => array(
- 'marca' => 'Volks',
- 'modelo' => 'Polo',
- 'ano' => '2004',
- 'Pessoa' => array(
- 'nome' => 'Pedro',
- 'idade' => '22',
- 'sexo' => 'm',
- 'Contato' => array(
- 'email' => 'psouza@array.com.br',
- 'tel' => '(21) 2222-3333',
- )
- )
- )
- ),
- 1 => array(
- 'Carro' => array(
- 'marca' => 'Volks',
- 'modelo' => 'Gol',
- 'ano' => '2001',
- 'Pessoa' => array(
- 'nome' => 'Lucas',
- 'idade' => '25',
- 'sexo' => 'm',
- 'Contato' => array(
- 'email' => 'lalvarenga@array.com.br',
- 'tel' => '(21) 5555-0000',
- )
- )
- )
- ),
- 2 => array(
- 'Carro' => array(
- 'marca' => 'Fiat',
- 'modelo' => 'Brava',
- 'ano' => '2010',
- 'Pessoa' => array(
- 'nome' => 'Alcides',
- 'idade' => '20',
- 'sexo' => 'm',
- 'Contato' => array(
- 'email' => 'alcinho@bol.com.br',
- 'tel' => '(21) 6969-2424',
- )
- )
- )
- ),
- 3 => array(
- 'Carro' => array(
- 'marca' => 'Peugeot',
- 'modelo' => '206',
- 'ano' => '2002',
- 'Pessoa' => array(
- 'nome' => 'Gigio',
- 'idade' => '22',
- 'sexo' => 'm',
- 'Contato' => array(
- 'email' => 'gigio.coder@gmail.com',
- 'tel' => '(21) 9946-9505',
- )
- )
- )
- ),
- 4 => array(
- 'Carro' => array(
- 'marca' => 'Volks',
- 'modelo' => 'Fusca',
- 'ano' => '1968',
- 'Pessoa' => array(
- 'nome' => 'Francisca',
- 'idade' => '37',
- 'sexo' => 'f',
- 'Contato' => array(
- 'email' => 'fran_linda_rj@uol.com.br',
- 'tel' => '(21) 8787-7787',
- )
- )
- )
- )
- );
- echo "<br>---------------------------------------------------------<br>original:<br>";
- echo imprime($carros);
- ordena($carros, 'Carro.marca');
- echo "<br>---------------------------------------------------------<br>marca:<br>";
- echo imprime($carros);
- ordena($carros, 'Carro.Pessoa.nome');
- echo "<br>---------------------------------------------------------<br>Pessoa:<br>";
- echo imprime($carros);
- ordena($carros, 'Carro.Pessoa.Contato.email');
- echo "<br>---------------------------------------------------------<br>E-mail:<br>";
- echo imprime($carros);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement