PHP は、多くのデータ構造をサポートする広く使用されているスクリプト言語であり、配列は最も一般的に使用されるものの 1 つです。 PHP では、コードのパフォーマンスと正確さに影響を与える可能性があるため、配列が順序付けされているかどうかを判断することが重要です。この記事では、PHP 配列が順序付けされているかどうかを判断する方法を紹介します。
1. PHP 配列の分類
PHP 配列が適切かどうかを判断する方法を理解する前に、PHP 配列の分類を理解する必要があります。 PHP 配列は、配列の添字の種類に応じて、次の 2 つのタイプに分類できます:
- インデックス配列: 添字は 0 から連続的に増加し、添字を記述する必要はありません。
連想配列: 添え字には任意の文字列または数値を使用でき、明示的に記述する必要があります。 -
2. インデックス配列が順序どおりであるかどうかを判断する
インデックス配列では、sort 関数を使用して、順序どおりであるかどうかを判断できます。 PHP は、sort()、rsort()、asort()、arsort() など、多くの並べ替え関数を提供します。以下は、sort() 関数を使用してインデックス配列が正しいかどうかを判断するサンプル コードです。
function is_sorted($arr) {
sort($arr);
return $arr === range(min($arr), max($arr));
}
ログイン後にコピー
このコードは、sort() 関数を使用して配列を並べ替え、range() 関数を使用します。元の配列と同じ連続した配列を生成する数値シーケンス。次に、2 つの配列を比較して、元の配列が正しいかどうかを判断できます。
3. 連想配列が順序どおりであるかどうかを判断する
連想配列では、順序どおりかどうかを判断するために他の方法を使用する必要があります。以下は、array_keys() 関数を使用して連想配列が適切かどうかを判断するサンプル コードです。
function is_sorted_assoc(array $arr) {
$keys = array_keys($arr);
$prev_key = $keys[0];
foreach ($keys as $key) {
if ($prev_key > $key) {
return false;
}
$prev_key = $key;
}
return true;
}
ログイン後にコピー
このコードは、array_keys() 関数を使用して、配列のキー値を取り出します。配列を取得し、これらのキー値を反復処理して 1 つずつ比較します。キー値が昇順でない場合は false を返し、それ以外の場合は true を返します。
4. 多次元配列が順序どおりであるかどうかを判断する
多次元配列では、各部分配列を個別にソートし、それらが順序どおりであるかどうかを判断する必要があります。以下は、usort() 関数を使用して多次元配列が順序付けされているかどうかを判断するサンプル コードです。
function is_sorted_multi(array $array): bool
{
foreach ($array as $sub_array) {
usort($sub_array, function ($a, $b) {
return $a <=> $b;
});
if ($sub_array !== array_values($sub_array)) {
return false;
}
}
return true;
}
ログイン後にコピー
このコードは、usort() 関数を使用して部分配列を並べ替え、array_values() を使用します。一連の連続した数値を生成する関数。最後に、ソートされた配列と生成されたシーケンスが等しいかどうかを比較して、部分配列が正しいかどうかを判断します。すべての部分配列がソートされている場合は true を返し、そうでない場合は false を返します。
概要: この記事では、PHP 配列が適切かどうかを判断する方法を紹介します。インデックス付き配列の場合は、ソート関数を使用して判断できます。連想配列の場合は、array_keys() 関数を使用して判断できます。多次元配列の場合は、各部分配列を個別にソートし、それらが順番に並んでいるかどうかを判断する必要があります。 。実際の開発では、配列が実際のニーズに従って順序付けされているかどうかを判断するために、適切な方法を選択する必要があります。
以上がPHP配列の順序を決定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。