How to Sort Items of a Set in PHP


How to Sort Items of a Set in PHP ?

Answer

To sort items of a Set in PHP, you can convert the Set to an array and use the sort() function.



✐ Examples

1 Sort Items of a Set of Numbers

In this example,

  1. We create a Set (using a SplObjectStorage for the purpose of this example) named $numberSet with a set of numeric values.
  2. We convert the Set $numberSet to an array using the iterator_to_array() function.
  3. We then use the sort() function to sort the items in ascending order.
  4. Finally, we print the sorted array using print_r().

PHP Program

<?php
$numberSet = new SplObjectStorage();
$numbers = [5, 3, 8, 1, 2];
foreach ($numbers as $num) {
    $numberSet->attach((object) ['num' => $num]);
}
$array = iterator_to_array($numberSet);
usort($array, function($a, $b) { return $a->num <=> $b->num; });
print_r(array_map(function($obj) { return $obj->num; }, $array));
?>

Output

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 5
    [4] => 8
)

2 Sort Items of a Set of Strings

In this example,

  1. We create a Set (using a SplObjectStorage for the purpose of this example) named $stringSet with a set of string values.
  2. We convert the Set $stringSet to an array using the iterator_to_array() function.
  3. We then use the usort() function to sort the items in alphabetical order.
  4. Finally, we print the sorted array using print_r().

PHP Program

<?php
$stringSet = new SplObjectStorage();
$strings = ["banana", "apple", "cherry", "date"];
foreach ($strings as $str) {
    $stringSet->attach((object) ['str' => $str]);
}
$array = iterator_to_array($stringSet);
usort($array, function($a, $b) { return strcmp($a->str, $b->str); });
print_r(array_map(function($obj) { return $obj->str; }, $array));
?>

Output

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => date
)

Summary

In this tutorial, we learned How to Sort Items of a Set in PHP language with well detailed examples.




More PHP Sets Tutorials

  1. How to create an Empty Set in PHP ?
  2. How to Initialize a Set in PHP ?
  3. How to Get Length of a Set in PHP ?
  4. How to create a Set of size N in PHP ?
  5. How to create a Set of Numbers from 1 to N in PHP ?
  6. How to create a Set of integers in PHP ?
  7. How to create a Set of Strings in PHP ?
  8. How to Access Items in a Set in PHP ?
  9. How to get a Random Item in a Set in PHP ?
  10. How to Iterate Over a Set in PHP ?
  11. How to check if a Set is Empty in PHP ?
  12. How to check if a Set is Not Empty in PHP ?
  13. How to get Subset from a Set in PHP ?
  14. How to check if a Specific Item is present in the Set in PHP ?
  15. How to check if a Set contains all the items of Another Set in PHP ?
  16. How to Sort Items of a Set in PHP ?
  17. How to Copy a Set in PHP ?
  18. How to add an Item to a Set in PHP ?
  19. How to find Union of Two Sets in PHP ?
  20. How to find Intersection of Two Sets in PHP ?
  21. How to check if Two Sets are Equal in PHP ?
  22. How to Convert a Set of Integers to a Set of Strings in PHP ?
  23. How to Convert a Set of Strings to a Set of Integers in PHP ?
  24. How to Convert a Set of Floats to a Set of Strings in PHP ?
  25. How to Convert a Set of Strings to a Set of Floats in PHP ?
  26. How to Filter Items of a Set based on a Condition in PHP ?
  27. How to Remove Specific Item from a Set in PHP ?
  28. How to Remove Items from Set based on a Condition in PHP ?
  29. How to create a Set of Sets in PHP ?