Advertisement
Guest User

Untitled

a guest
Mar 12th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. <?php
  2.  
  3. function imprime($array) {
  4. $tam = count($array);
  5. foreach ($array as $i => $value) {
  6. if (is_array($array[$i]))
  7. imprime($array[$i]);
  8. else
  9. if ($i < ($tam - 1))
  10. echo "$i => $array[$i], ";
  11. else
  12. echo "$i => $array[$i]";
  13. }
  14. echo "<br>";
  15. }
  16.  
  17. function pega($a, $d) {
  18. foreach ($a as $i => $value) {
  19. if (strcmp($d, $a[$i]) == 0)
  20. return $a[$i];
  21. else {
  22. if (is_array($a[$i])
  23. pega($a[$i], $d);
  24. }
  25. }
  26. }
  27.  
  28. function confere($a1, $a2, $d) {
  29. if (strcmp(pega($a1, $d),pega($a1, $d)) < 0)
  30. return 1;
  31. else
  32. return 0;
  33. }
  34.  
  35. function ordena($array, $dado) {
  36. foreach ($array as $i => $value)
  37. foreach ($array as $j => $value)
  38. if (confere($array[$i], $array[$i], $dado) == 1) {
  39. $aux = $array[$i];
  40. $array[$i] = $array[$j];
  41. $array[$j] = $aux;
  42. }
  43. return $array;
  44. }
  45.  
  46. $carros = array(
  47. 0 => array(
  48. 'Carro' => array(
  49. 'marca' => 'Volks',
  50. 'modelo' => 'Polo',
  51. 'ano' => '2004',
  52. 'Pessoa' => array(
  53. 'nome' => 'Pedro',
  54. 'idade' => '22',
  55. 'sexo' => 'm',
  56. 'Contato' => array(
  57. 'email' => 'psouza@array.com.br',
  58. 'tel' => '(21) 2222-3333',
  59. )
  60. )
  61. )
  62. ),
  63. 1 => array(
  64. 'Carro' => array(
  65. 'marca' => 'Volks',
  66. 'modelo' => 'Gol',
  67. 'ano' => '2001',
  68. 'Pessoa' => array(
  69. 'nome' => 'Lucas',
  70. 'idade' => '25',
  71. 'sexo' => 'm',
  72. 'Contato' => array(
  73. 'email' => 'lalvarenga@array.com.br',
  74. 'tel' => '(21) 5555-0000',
  75. )
  76. )
  77. )
  78. ),
  79. 2 => array(
  80. 'Carro' => array(
  81. 'marca' => 'Fiat',
  82. 'modelo' => 'Brava',
  83. 'ano' => '2010',
  84. 'Pessoa' => array(
  85. 'nome' => 'Alcides',
  86. 'idade' => '20',
  87. 'sexo' => 'm',
  88. 'Contato' => array(
  89. 'email' => 'alcinho@bol.com.br',
  90. 'tel' => '(21) 6969-2424',
  91. )
  92. )
  93. )
  94. ),
  95. 3 => array(
  96. 'Carro' => array(
  97. 'marca' => 'Peugeot',
  98. 'modelo' => '206',
  99. 'ano' => '2002',
  100. 'Pessoa' => array(
  101. 'nome' => 'Gigio',
  102. 'idade' => '22',
  103. 'sexo' => 'm',
  104. 'Contato' => array(
  105. 'email' => 'gigio.coder@gmail.com',
  106. 'tel' => '(21) 9946-9505',
  107. )
  108. )
  109. )
  110. ),
  111. 4 => array(
  112. 'Carro' => array(
  113. 'marca' => 'Volks',
  114. 'modelo' => 'Fusca',
  115. 'ano' => '1968',
  116. 'Pessoa' => array(
  117. 'nome' => 'Francisca',
  118. 'idade' => '37',
  119. 'sexo' => 'f',
  120. 'Contato' => array(
  121. 'email' => 'fran_linda_rj@uol.com.br',
  122. 'tel' => '(21) 8787-7787',
  123. )
  124. )
  125. )
  126. )
  127. );
  128.  
  129. echo imprime($carros);
  130.  
  131. ordena($carros, 'Carro.marca');
  132. //ordena($carros, 'Carro.Pessoa.nome');
  133. //ordena($carros, 'Carro.Pessoa.Contato.email');
  134. echo "<br>";
  135. echo imprime($carros);
  136.  
  137. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement