Welcome to the Cookbook

loading...

8.5.3 sort

array Set::sort ($data, $path, $dir)

Trie un tableau par une valeur quelconque, déterminée par un chemin "Set-compatible".

$a = array(
	0 => array('Personne' => array('nom' => 'Jeff')),
	1 => array('Chemise' => array('couleur' => 'noir'))
);
$resultat = Set::sort($a, '{n}.Personne.nom', 'asc');
/* $resultat ressemble maintenant à : 
	Array
	(
	    [0] => Array
	        (
	            [Chemise] => Array
	                (
	                    [couleur] => noir
	                )
	        )
	    [1] => Array
	        (
	            [Personne] => Array
	                (
	                    [nom] => Jeff
	                )
	        )
	)
*/

$resultat = Set::sort($a, '{n}.Chemise', 'asc');
/* $resultat ressemble maintenant à : 
	Array
	(
	    [0] => Array
	        (
	            [Personne] => Array
	                (
	                    [nom] => Jeff
	                )
	        )
	    [1] => Array
	        (
	            [Chemise] => Array
	                (
	                    [couleur] => noir
	                )
	        )
	)
*/

$resultat = Set::sort($a, '{n}', 'desc');
/* $resultat ressemble maintenant à : 
	Array
	(
	    [0] => Array
	        (
	            [Chemise] => Array
	                (
	                    [couleur] => noir
	                )
	        )
	    [1] => Array
	        (
	            [Personne] => Array
	                (
	                    [nom] => Jeff
	                )
	        )
	)
*/

$a = array(
	array(7,6,4),
	array(3,4,5),
	array(3,2,1),
);

$resultat = Set::sort($a, '{n}.{n}', 'asc');
/* $resultat ressemble maintenant à : 
	Array
	(
	    [0] => Array
	        (
	            [0] => 3
	            [1] => 2
	            [2] => 1
	        )
	    [1] => Array
	        (
	            [0] => 3
	            [1] => 4
	            [2] => 5
	        )
	    [2] => Array
	        (
	            [0] => 7
	            [1] => 6
	            [2] => 4
	        )
	)
*/
  1. $a = array(
  2. 0 => array('Personne' => array('nom' => 'Jeff')),
  3. 1 => array('Chemise' => array('couleur' => 'noir'))
  4. );
  5. $resultat = Set::sort($a, '{n}.Personne.nom', 'asc');
  6. /* $resultat ressemble maintenant à :
  7. Array
  8. (
  9. [0] => Array
  10. (
  11. [Chemise] => Array
  12. (
  13. [couleur] => noir
  14. )
  15. )
  16. [1] => Array
  17. (
  18. [Personne] => Array
  19. (
  20. [nom] => Jeff
  21. )
  22. )
  23. )
  24. */
  25. $resultat = Set::sort($a, '{n}.Chemise', 'asc');
  26. /* $resultat ressemble maintenant à :
  27. Array
  28. (
  29. [0] => Array
  30. (
  31. [Personne] => Array
  32. (
  33. [nom] => Jeff
  34. )
  35. )
  36. [1] => Array
  37. (
  38. [Chemise] => Array
  39. (
  40. [couleur] => noir
  41. )
  42. )
  43. )
  44. */
  45. $resultat = Set::sort($a, '{n}', 'desc');
  46. /* $resultat ressemble maintenant à :
  47. Array
  48. (
  49. [0] => Array
  50. (
  51. [Chemise] => Array
  52. (
  53. [couleur] => noir
  54. )
  55. )
  56. [1] => Array
  57. (
  58. [Personne] => Array
  59. (
  60. [nom] => Jeff
  61. )
  62. )
  63. )
  64. */
  65. $a = array(
  66. array(7,6,4),
  67. array(3,4,5),
  68. array(3,2,1),
  69. );
  70. $resultat = Set::sort($a, '{n}.{n}', 'asc');
  71. /* $resultat ressemble maintenant à :
  72. Array
  73. (
  74. [0] => Array
  75. (
  76. [0] => 3
  77. [1] => 2
  78. [2] => 1
  79. )
  80. [1] => Array
  81. (
  82. [0] => 3
  83. [1] => 4
  84. [2] => 5
  85. )
  86. [2] => Array
  87. (
  88. [0] => 7
  89. [1] => 6
  90. [2] => 4
  91. )
  92. )
  93. */