PHP CodeIgniter Foreach 返回不正确的数据

标签 php mysql codeigniter foreach

你好厉害的程序员!

对于新手问题,我感到非常抱歉,但是,我无法找到解决问题的方法。我试图通过我的 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/

相关文章:

php - 如何在 Symfony 中对 Monolog 消息进行高级过滤?

php - 将 PHP 代码从 MySQL 迁移到 MS SQL Server

php - 上传 CSV 并用外键替换数据

mysql - MYSQL中子字符串与正则表达式的使用

php - 使用 Codeigniter 制作面包屑的最佳方法是什么?

php - Doctrine 查询: best approach to creating a select query joining three tables?

javascript - 我的 Ajax 调用未定义

javascript - 使用 php 的倒计时器来激活按钮点击

codeigniter - 将 OAuth 2.0 与 CodeIgniter 集成

php - 在 codeigniter 中显示来自两个表的数组数据