TOP ▲
itcore TOP プログラムパーツ
uGetAr, uGetObj 配列またはオブジェクトから値を取得する。要素が存在しない場合は空文字を返す。 | itcore 2021年
PHP
関数
<?php
// 配列の要素が存在しないときは空文字を返す。
function uGetAr($ar, $idx, $default = "")
{
  if (!isset($ar[$idx])) {
    return $default;
  }
  return $ar[$idx];
}
// 2次元配列の要素が存在しないときは空文字を返す。
function uGetAr2($ar, $idx, $idx2, $default = "")
{
  if (!isset($ar[$idx][$idx2])) {
    return $default;
  }
  return $ar[$idx][$idx2];
}
// オブジェクトのプロパティを取得する。
// viewに->を記述するとprettierがくずれるため。
// $data = uGetObj($obj, $property);
function uGetObj($obj, $property, $default = "")
{
  if (!isset($obj->$property)) {
    return $default;
  }
  return $obj->$property;
}
?>
テストプログラム
<?php include_once "uGetAr.func"; ?>
<?php
$a1 = array("a" => 1, "b" => 0);
echo "a1['a']=" . uGetAr($a1, "a") . "<br>\n";
echo "a1['b']=" . uGetAr($a1, "b") . "<br>\n";
echo "a1['c']=" . uGetAr($a1, "c") . "<br>\n";
echo "a1['c']=" . uGetAr($a1, "c", 99) . "<br>\n";
$obj1 = (object)$a1;
echo "obj1->a=" . uGetObj($obj1, "a") . "<br>\n";
echo "obj1->b=" . uGetObj($obj1, "b") . "<br>\n";
echo "obj1->c=" . uGetObj($obj1, "c") . "<br>\n";
echo "obj1->c=" . uGetObj($obj1, "c", 99) . "<br>\n";
?>
実行結果
a1['a']=1
a1['b']=0
a1['c']=
a1['c']=99
obj1->a=1
obj1->b=0
obj1->c=
obj1->c=99