Torihaji's Growth Diary

Little by little, no hurry.

PHP 配列初期化について(今日の犯人)

現在、PHPの最終成果物を作成しているのですが、

悩みに悩んだエラーがとてつもなく単純だったので、

今後のために書き残そうかと思います。

問題のコードはこちらです。

$errors[] = array();

if( 条件){ $errors [] = 'エラー';}; 

if(count($errors) == 0){ echo '成功'; }

最初は条件がfalseでもなぜか、echo ができませんでした。

なぜダメだったか。犯人はこの人です。

$errors[] = array();

この人をvar_dumpすれば、もうわかるのですが、

array(1) {
  [0]=>
  array(0) {
  }
}

そら無理ですね、と。

このように修正すればうまくいきました。

- $errors[] = array();
+ $errors = array();

if( 条件){ $errors [] = 'エラー';}; 

if(count($errors) == 0){ echo '成功'; }

この場合だと、条件がfalseだった場合、最下行がtrueになります。

現場からは以上です。