PHPでUndefinedIndex対策
PHPで、多階層の配列を使う時、UndefindIndexに悩まされることはありませんでしょうか?
そんな時使える関数を発明しました!(といっても、めちゃくちゃ簡単なコードですが)
if (!function_exists('IFERROR')){
function IFERROR($ary,$idx,$val='-'){
if (is_string($idx) || is_numeric($idx) {
return (isset($ary[$idx])) ? $ary[$idx] : $val;
}else{
foreach($idx as $i){
if (!isset($ary[$i])){
return $val;
}else{
$ary = $ary[$i];
}
}
return $ary;
}
}
}
使い方
$ary = ['abc'=>['x'=>'test','def'=>'test2']]; //こんな配列があったとして
// 階層順のindexを配列で $ary['abc']['def'] のような場合
$idx = ['abc','def'];
IFERROR($ary,$idx,'-'); // indexがある場合、値を、ない場合"-"を返す
IFERROR($ary,['abc','efg'],0); // => 0
IFERROR($ary,['abc','def'],0); // => "test2"
Author And Source
この問題について(PHPでUndefinedIndex対策), 我々は、より多くの情報をここで見つけました https://qiita.com/esikm/items/ab8b55b27ebc94be6299著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .