ホームページ  >  記事  >  バックエンド開発  >  PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

WBOY
WBOYオリジナル
2021-11-08 17:54:054844ブラウズ

前回の記事「配列内のキー名を取得するには?」キー名の大文字と小文字を変換するにはどうすればよいですか? 》PHPにおけるキー名の取得とキー名の大文字小文字の変換に関する操作を詳しく紹介します今回は、PHPで複数の配列をソートする方法について見ていきますので、皆様のお役に立てれば幸いです。 !

PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

前の記事では、配列内のすべての要素名を取得したい場合は、array_keys 関数を使用する必要があることを学びました。配列を変換したい場合は、キー名の大文字と小文字を array_change_key_case 関数で操作する必要があります。これはすべて配列操作の一部であり、その一部を「PHP 配列を並べ替える方法 (詳細な図とテキストの説明)」で簡単に紹介しました。

PHP で複数の配列を並べ替える方法は?配列をランダムに並べ替える方法は? PHP には、配列を昇順かつランダムに並べ替えることができる組み込み関数 array_multisort および shuffle があります。これらを一緒に見てみましょう。

<strong>#array_multisort<span style="font-size: 20px;"></span></strong>関数 - 複数の配列を並べ替える

# #PHP の場合

array_multisort関数は 1 つ以上の配列を入力できます。この関数は最初に最初の配列を並べ替えてから、次のグループを並べ替えます。 array_multisort関数の基本的な構文形式は次のとおりです:

array_multisort(array1,sorting order,sorting type,array2,array3...)

次の点に注意してください:


パラメータ

array1 は次のとおりです。パラメータ array2 および 3 はオプションであり、並べ替えられる配列でもあります。パラメータ sorting order もオプションのパラメータです。デフォルトでは、このパラメータは SORT_ASC を表し、配列の並べ替えが昇順であることを示します。単数形の並べ替え順序が SORT_DESC の場合、それは降順に並べ替えることを意味します。

Parameter

sorting type もオプションのパラメータです。デフォルト値は SORT_REGULAR で、配列が規則的な順序で並べ替えられることを意味します。パラメータ値が SORT_NUMERIC の場合、配列内の要素が数値として扱われることを意味します。パラメータ値が SORT_STRING の場合、配列内の要素が文字列として扱われることを意味します。パラメータの値が SORT_LOCALE_STRING の場合、setlocale 関数を通じて変更される文字列を表します。パラメーター値が SORT_NATURAL の場合、natsort() と同様の自然ソートを表します。

array_multisort 関数を使用して文字列を並べ替えます。キー名が文字列である要素は保持されますが、キー名が数字である要素は再インデックスされます。インデックス作成ルールはこれまでと同じです。

並べ替えが成功した場合、返される結果は

true であり、並べ替えが失敗した場合、返される結果は false です。

array_multisort 関数の基本的な使い方を例で見てみましょう。例は次のとおりです:

<?php
$a1=array("Dog","Cat");
$a2=array("Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>

出力結果:


PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

上記の例では、返された結果は昇順にソートされていますが、2 つの値が同じ場合に出力結果がどのように変化するかを見てみましょう。例は次のとおりです:


<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>

出力結果:


PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

#上記の例では、配列は同じなので上書きされませんが、キー名は異なり、並べ替えられています。

以下の包括的な例を見てみましょう。2 つの配列をマージして降順に並べると、出力結果はどうなりますか? 例は次のとおりです:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>

出力結果:

PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

上記では、

array_multisort 関数を使用して配列要素を並べ替えることができますが、シャッフル関数を紹介します。配列をシャッフルできます。

<strong>shuffle<span style="font-size: 20px;"></span></strong> 関数 - PHP の配列の並べ替え

配列要素を順番に並べ替える関数もありますし、配列の順序を変更する、つまり配列を破壊する方法もあります。

shuffle関数の基本的な構文構造は次のとおりです:

shuffle(array)

パラメータ配列は、並べ替える必要がある配列です。

shuffle() 関数は、配列内の要素をランダムな順序で並べ替えます。配列内の元のキー名は削除され、新しい配列には新しいキー名が付けられます。

函数如果排序成功,返回的结果是true,如果失败,返回的结果是flase

下面我们通过示例来看一下shuffle函数的使用,示例如下:

<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>

输出结果:

PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

PHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?

上述示例中,通过shuffle函数将数组进行重新排列,并且每执行一次数组的排列顺序就会改变。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上がPHP での配列のソートとシャッフルの問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。