你好厉害的程序员!
对于新手问题,我感到非常抱歉,但是,我无法找到解决问题的方法。我试图通过我的 Controller 传递的数组运行 for each 循环,但是,输出的数据与我运行 var_dump($array) 时的数据不同。我在想也许我需要遍历这个对象?但是,当我尝试这样做时,出现了非对象错误。
Controller :
$data['user_details'] = $this->ion_auth->user()->row();
查看:
var_dump($user_details);
foreach($user_details as $item){
echo $item['email'];
}
此输出为:“21nfn4111NR12”,但应为 roger@peterson.net!
我也试过对象形式:
var_dump($user_details);
foreach($user_details as $item){
echo $item->email;
}
但是,它会导致尝试获取非对象的属性时出错!
当我运行 var dump 时,我得到以下信息:
object(stdClass)#21 (17) {
["id"]=>
string(1) "2"
["ip_address"]=>
string(14) "119.132.127.01"
["username"]=>
string(12) "roger petereson"
["password"]=>
string(40) "fdZxF/RQo4nZKmbA5XQlwefbc8f8e5c74899c3d0"
["salt"]=>
NULL
["email"]=>
string(19) "roger@peterson.net"
["activation_code"]=>
NULL
["forgotten_password_code"]=>
NULL
["forgotten_password_time"]=>
NULL
["remember_code"]=>
string(22) "44hjOlloLTIrkSrjSBVNie"
["created_on"]=>
string(10) "1404939094"
["last_login"]=>
string(10) "1405099607"
["active"]=>
string(1) "1"
["first_name"]=>
string(6) "Roger"
["last_name"]=>
string(5) "Peterson"
["is_owner"]=>
string(1) "1"
["user_id"]=>
string(1) "2"
}
最佳答案
下面一行:
$this->ion_auth->user()->row();
返回一个对象
而不是一个数组
(检查你的var_dump
输出),所以你只需要
echo $user_details->email;
关于PHP CodeIgniter Foreach 返回不正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24703640/