ホームページ >バックエンド開発 >PHPチュートリアル >PHP配列ソートの例(組み込み関数なし)

PHP配列ソートの例(組み込み関数なし)

WBOY
WBOYオリジナル
2016-07-25 09:04:061325ブラウズ
  1. function arraysort($data, $order = 'asc') {
  2. //asc ascending desc降順
  3. $temp = array();
  4. $count = count ($data);
  5. if ($count <= 0)
  6. return false; //渡されたデータが正しくありません
  7. if ($order == 'asc') {
  8. for($i = 0; $i < $count; $ i ++) {
  9. for($j = $count - 1; $j > $i; $j --) {
  10. if ($data [$j] < $data [$j - 1]) {
  11. // 2 つのデータの位置を交換します
  12. $temp = $data [$j];
  13. $data [$j] = $data [$j - 1];
  14. $data [$j - 1] = $temp ;
  15. }
  16. }
  17. }
  18. } else {
  19. for($i = 0; $i < $count; $i ++) {
  20. for($j = $count - 1; $j > $i; $j --) {
  21. if ($data [$j] > $data [$j - 1]) {
  22. $temp = $data [$j];
  23. $data [$j] = $data [$ j - 1];
  24. $data [$j - 1] = $temp;
  25. }
  26. }
  27. }
  28. $data を返す;
  29. $data = 配列 (7, 5, 3, 8, 9, 1) , 5 , 3, 1, 24, 3, 87, 0, 33, 1, 12, 34, 54, 66, 32 );
  30. var_dump ( arraysort ( $data ) ); // 昇順
  31. echo ('< br>' );
  32. var_dump (arraysort ( $data ,'desc') );//降順
挿入ソート方法
2.

    function arraysort3($data, $order = 'asc') {
  1. //現在は昇順のみを実行します
  2. $count = count ( $data ); ; $i $temp = $data [$i] = $i - 1; $data [$j + 1] = $data [$j];
  3. $data [$j] = $temp;
  4. $j --;//なぜ減らす必要があるのか​​: ビットごとに判断します
  5. }
  6. }
  7. $data を返す;
  8. }
  9. $data = 配列 (7、5、3、8、9、1、5、3、1、24、3、87、0、33、1、12、34、54 , 66, 32 ; 誰にとっても役立ちます。 Scripting School は毎日あなたのために活動しています。
  10. >>> 詳細については、PHP 配列ソートメソッドの完全なリストをご覧ください
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。