简体   繁体   English

PHP CodeIgniter Foreach返回不正确的数据

[英]PHP CodeIgniter Foreach Returning Incorrect Data

Hello awesome programmers! 各位程序员,大家好!

I am so sorry for the the novice question, however, I am having trouble finding a solution to my problem. 对于新手问题,我感到非常抱歉,但是,我无法找到解决问题的方法。 I am attempting to run a for each loop through my array passed from my controller, however, the data being outputted is not the same as when I run a var_dump($array). 我试图通过控制器传递的数组为每个循环运行a,但是,输出的数据与运行var_dump($ array)时不同。 I am thinking perhaps that I need to iterate through this object maybe? 我在想也许我需要遍历这个对象? However, when I attempt to do so, I get a non-object error. 但是,当我尝试这样做时,出现非对象错误。

Controller: 控制器:

$data['user_details'] = $this->ion_auth->user()->row();

View: 视图:

var_dump($user_details);
    foreach($user_details as $item){
        echo $item['email'];
    }

The output of this is : "21nfn4111NR12" but should be roger@peterson.net! 其输出为:“ 21nfn4111NR12”,但应为roger@peterson.net!

I have also tried the object form: 我也尝试过对象形式:

var_dump($user_details);
    foreach($user_details as $item){
        echo $item->email;
    }

However, it results in error trying to get property of non-object! 但是,尝试获取非对象的属性会导致错误!

When I run the var dump I get the following: 当我运行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"
}

The following line: 下一行:

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

returns an object not an array (check your var_dump output), so you just need to 返回一个不是arrayobject (检查您的var_dump输出),因此您只需要

echo $user_details->email;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM