非常に単純なプログラムロジックの問題です。配列の判定についてです。
たとえば、$arr は配列です。
空かどうかを判定したい場合は、
if( !empty($ arr)) {
or
if(count($arr) > 0) {
or
if($arr != '') {
私はよく他の人に、コードでこれらを見たことがありますが、何が違うのか、なぜこんなに多くの用法があるのか、と話します。
マスターが経験を共有できることを願っています。 >
また、foreach を使用して配列をループする必要がある場合、空ではないことを判断する必要があることがよくあります:
if(is_array($arr) && !empty($arr)) {
------解決策--- ------------------
is_array($arr)
これで十分です。
空の配列に対してエラーは報告されません。
------解決策------------------
foreach の前に配列をチェックしないと、警告エラーが発生するため、非常に危険です。 文字列を foreach したり、null 値を foreach したりすると、必ず問題が発生します。
判断方法はたくさんありますが、 if(!empty($arr)) {} if(count($arr) > 0) {} 大きな違いはありません。とにかく、配列が空でないことを確認してください。 。 。
------解決策------------------
foreachを使って配列をループする場合はis_arrayの判定をするのがベストです
空でない判定については空の配列はループに入らないです
それを確認すれば。 $arr は配列であるため、
if(!empty ($arr)) {
または
if(count($arr) > 0) {
は両方とも許容されますが、if($ arr != '') は厳密ではありません
------解決策------------------
is_array() + count/empty が最適な方法です。