PHP では、配列は非常に一般的に使用されるデータ構造であり、多くのプログラミング シナリオで配列を使用する必要がよくあります。したがって、配列を処理するときは、配列が空かどうか、および配列の長さを取得する方法を考慮する必要があることがよくあります。
PHP には、配列が空かどうかを判断する関数 empty()、配列要素が存在するかどうかを判断する関数 isset()、配列要素を取得する関数 count() など、配列を処理するための関数が多数用意されています。配列の長さなど。この記事では、空ではない配列の長さを取得する方法に焦点を当てます。
count() 関数を使用して配列の長さを取得すると、配列が空の場合は 0 が返されます。しかし、シナリオによっては、空ではない配列の長さを取得する必要がある場合、どうすればよいでしょうか?
一般的な方法は、ループを使用して配列を走査し、空ではない要素の数をカウントすることです。具体的な実装は次のとおりです。
function countNotNull($arr){ if(!is_array($arr)) return 0; $count = 0; foreach($arr as $item){ if(!empty($item)){ $count++; } } return $count; } $arr = array(1, null, 3, "", 5, array()); echo countNotNull($arr); // output: 3
上記のコードは、まず配列が空かどうか、および不正なパラメーターを渡すことによって発生するエラーを防ぐための配列型であるかどうかを判断します。次に、各要素を走査して、空ではない要素の数を数えます。最後にこの値を返します。
この方法は比較的単純ですが、配列要素が多い場合は効率が低くなります。また、本機能を複数回使用する場合、作業が重複して発生する可能性があります。
より効率的な解決策は、array_filter() 関数を使用して空の要素をフィルターで除外し、次に count() 関数を使用して配列の長さを取得することです。具体的な実装は次のとおりです。
function countNotNull2($arr){ if(!is_array($arr)) return 0; $newArr = array_filter($arr); return count($newArr); } $arr = array(1, null, 3, "", 5, array()); echo countNotNull2($arr); // output: 3
上記のコードは、最初にパラメーターの正当性を判断し、次に array_filter() 関数を使用して空の要素をフィルターで除外し、新しい配列を返します。次に、count() 関数を使用して、新しい配列の長さ (空ではない配列の長さ) を取得します。
array_filter() 関数を使用すると、空の文字列をフィルターで除外するのではなく、空の要素 (0、""、null、false など) がフィルターで除外されることに注意してください。
つまり、PHP では、空でない配列の長さを取得する方法は数多くありますが、上記は一般的なものにすぎません。読者は実際のニーズに応じて適切な方法を選択できます。
以上がPHPで空ではない配列の長さを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。