PHP CodeIgniter Foreach返回不正确的数据

时间:2014-07-11 17:49:19

标签: php mysql codeigniter foreach

你好真棒的程序员!

我很抱歉新手的问题,但是,我无法找到问题的解决方案。我试图通过从我的控制器传递的数组为每个循环运行一个,但是,输出的数据与运行var_dump($ array)时的数据不同。我想也许我需要迭代这个对象呢?但是,当我尝试这样做时,我得到一个非对象错误。

控制器:

$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转储时,我得到以下内容:

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"
}

1 个答案:

答案 0 :(得分:3)

以下一行:

$this->ion_auth->user()->row(); 

返回object而不是array(检查您的var_dump输出),因此您只需要

echo $user_details->email;