こういう処理を書いた時、数値じゃない文字は整数に出来ないからエラーを吐くんじゃないかと思ってたんですが、
$hoge = ['あ','い','う'];
$huga = null;
try {
$huga = array_map('intval', $hoge);
} catch (\Throwable $exception) {
dd($exception);
}
dd($huga);
成功時は value の整数値、失敗時は 0。 空の配列の場合は 0、空でない配列の場合は 1 を返します。
数値以外の文字列が入っていないか検知したければis_numericとかを使ってチェックしましょうという事ですね
value が数値または 数値形式の文字列 である場合に true、それ以外の場合に false を返します。
$hoge = (int)'hoge';
のようにキャストした場合も0
で出力されたので少しびっくり、言語仕様あまり知らないまま使っていたのでちょっと怖いです