未定义索引:php中的用户
我有以下数组,它是从我的对象生成的未定义索引:php中的用户,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我有以下数组,它是从我的对象生成的 Laravel\Socialite\Two\User Object ( [token] => some token valuw [id] => 12345567769667 [nickname] => [name] => user name [email] => username@test.com [user] => Array (
Laravel\Socialite\Two\User Object
(
[token] => some token valuw
[id] => 12345567769667
[nickname] =>
[name] => user name
[email] => username@test.com
[user] => Array
(
[kind] => plus
[gender] => male
[emails] => Array
(
[0] => Array
(
[value] => username@test.com
[type] => account
)
)
)
)
如果我尝试访问id昵称、姓名、电子邮件等
echo $user->id;
它显示输出。
如果我尝试访问
echo $user->user->gender;
或
然后它将抛出错误作为未定义的索引用户
我如何访问性别和电子邮件价值
谢谢试试这个:
echo $user->user['gender'];
要访问电子邮件值,请执行以下操作:
$emailVal = [];
foreach($user->user['emails'] as $key => $val) {
$emailVal[] = ['value' => $val['value'], 'type' => $val['type']];
}
print_r($emailVal);
或者,如果您只想访问电子邮件:
echo $user->user['emails'][0]['value'];
$user
是一个对象
,用户
是一个数组
if (property_exists($user, user) && !empty($user->user[gender])) {
$user->user[gender]; // to access gender
$user->user[emails]; // to access email
}
为避免出现通知和警告@tester。请接受我的答案,如果它的工作。谢谢你当然可以。现在我在问完问题后必须等待11分钟。那么等待接受如何访问电子邮件值?您需要
foreach
循环。我会在我的回答中加上这一点谢谢。你的回答中只有一点小的更正。foreach($user->user['email']as$key=>$val)
if (property_exists($user, user) && !empty($user->user[gender])) {
$user->user[gender]; // to access gender
$user->user[emails]; // to access email
}