array_mapでを使って二つの配列を交互に表示させる機能を実装しました。
要素の片方(site_name)が減った時に 以下のコードの行でTrying to access array offset on value of type null が出てしまいます。
echo '<p class="u-mv10">'.$site['site_name'].'</p>';
array_mapは要素数の多い方に合わせるということはリファレンスを見て理解しましたが、プログラムが増えた要素(NULL)にアクセスしようとしてるのを回避する方法がわかりません
ここは別にNULLでいいんだってことをプログラムに教えてあげる方法はありますか?
<?php array_map( function ($site, $old_email) { echo '<p class="u-mv10">'.$site['site_name'].'</p>'; if(isset($old_email->cast_email)){ echo "<input type=\"text\" name=\"cast_email[]\" value=\"{$old_email->cast_email}\" class=\"c-form_input\">"; }else{ echo "<input type=\"text\" name=\"cast_email[]\" value=\"\" class=\"c-form_input\">"; } }, $users->sites->toArray(), $cast_emails ); ?>
試したこと
$site['site_name']がNULLの時はechoで空文字を返す・
それ以外は
echo '<p class="u-mv10">'.$site['site_name'].'</p>';
を返すと記述したのですが、当たり前ですが、条件文の$site['site_name']にアクセスしたときにまたエラーが出てしまいます。
どなたか回避方法を知っている方がいらっしゃればご教示いただけると幸いです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/10 09:55