[PHP] キーに「()」丸かっこが含まれているオブジェクトの値を取りたい時

2018年9月13日ITPHP

例えば、、

$users = DB::select(
    'SELECT count(*) FROM users'
);
dd($users);

だと、出力結果は、下記のようになるので、、、

array:1 [▼
  0 => {#1272 ▼
    +"count(*)": 3
  }
]

この時に結果の「3」のみ取得したい時は、下記のように書けば、取れます。

こう、、

$users = DB::select(
    'SELECT count(*) FROM users'
);
dd($users[0]->{'count(*)'});

もしくは、こう

$users = DB::select(
    'SELECT count(*) FROM users'
);
$count = 'count(*)';
dd($users[0]->$count);

ただ、キーが「count(*)」って、わかりにくいったらありゃしないので、「as」を使って、別名に置き換えてやるほうが良さげです。

参考元:
オブジェクトのキーにスラッシュが含まれている場合の取り出し方法

以上になります。

スポンサーリンク

Posted by nobuhiro harada