- 1. 概要
- 2. 例
- 3. 要素の取得
- 4. 安全に要素を取得
- 5. 参考サイト
1. 概要
配列とオブジェクトで要素の取り方が異なるのですが、ときどき、忘れちゃう。
2. 例
例えば、「Laravel」で、リクエストを受け取るとき。
use Illuminate\Http\Request;
でインクルードして。
public function SumFunction(Request $request)
{
てな感じで受け取って。
$params = $request->all();
で展開するわけですが。
これを。
print_r($params);
で表示すると。
Array ( )
になります。
「object」でキャストして。
$params = (object)$request->all();
で展開して、同様に表示すると。
stdClass Object ( )
と表示します。
はは、本項、蛇足だな。
3. 要素の取得
中に、「param1」というアイテムがあるとして、その変数を示すには、配列の場合。
$params['param1']
と表現します。
オブジェクトの場合は。
$params->param1
という表現になります。
4. 安全に要素を取得
元の変数が、配列かオブジェクトかわからなくなっちゃったときは、下記のような関数をつくると。
function safe_get($data, $key)
{
if (is_array($data) && array_key_exists($key, $data))
{
return $data[$key];
}
if (is_object($data) && property_exists($data, $key))
{
return $data->$key;
}
return null;
}
例外が発生したりせずに、安全に取得することができます。
5. 参考サイト
本ページは、「ChatGPT」くんを参考にさせていただきました
|
|