• **PHP错误Cannot use object of type stdClass as array in错误的


    错误:将PHP对象类型当做了PHP数组  解决方法:用对象操作符->

    今天在PHP输出一个二维数组的时候,出现了“Fatal error: Cannot use object of type stdClass as array in……”。

    这个二维数组是这样的:

    Array ( 


     [0] => stdClass Object
      [id] => 1 
      [title] => 首页招聘 
      [size] => 297*140 
      [pic] => ./upload/20130302093535.jpg 
      [state] => 0 ) 


     [1] => stdClass Object
      [id] => 2 
      [title] => 首页领队 
      [size] => 297*140 
      [pic] => ./upload/20130302093443.jpg 
      [state] => 0 ) 


     )

    输出开始写的方法是:$pic[0][title]

    结果就出现上面的错误。

    其实,数组中是返回的是一个对象,不能直接用[]来显示,正确的输出方法是:$pic[0]->title (不用加引号 )

    错误的:

    foreach($user_list as $user_key => $user_value){
    foreach ($data as $data_key => $data_value){
    if($user_list[$user_key]['user_mobile'] === $data_key){
    $user_list[$user_key]['contacts_username'] = $data_value;
    break;
    }
    }
    }

    正确:

    $user_list =$this->m_user->match_user_mobile($column_str, $mobile_array, $page_num, $page_size);
    //遍历$user_list,追加通讯录的用户名
    //遍历二维数组
    foreach($user_list as $user_key => $user_value){
    foreach ($data as $data_key => $data_value){
    if($user_list[$user_key]->user_mobile === $data_key){
    $user_list[$user_key]->contacts_username = $data_value;
    break;
    }
    }
    }

    --------------------------------------------
    public function match_user_mobile($column_str, $mobile_array,  $page_num, $page_size)
    {
    $this->db->select($column_str);
    $this->db->from('xm_user');
    $this->db->where_in('user_mobile', $mobile_array);
    //$this->db->limit(10, 20); 生成: LIMIT 20, 10 (仅限MySQL中。其它数据库有稍微不同的语法)
    $this->db->limit($page_size, ($page_num - 1)*$page_size);
    $query = $this->db->get();

    //var_dump($query); 测试
    //row_array取一行数据;result_array取多行数据,返回关联数组;result返回对象数组
    return $query->result_array();

    }
    总结:
    如果数据库用result返回,那么就是PHP对象数组,需要用对象操作符->
    如果是result_array返回,那么就是PHP关联数组,用[]即可
  • 相关阅读:
    for循环之初学者N多算法小练习
    Java数据类型(基本数据类型)学习
    Windows10 图标重建
    springMVC框架搭建
    Spring框架 jar包下载
    Hibernate配置文件中配置各种数据库链接
    Ajax第一课
    Windows 10 碎片整理程序使用
    python之restful api(flask)获取数据
    谷歌浏览器安装扩展程序
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/4360917.html
Copyright © 2020-2023  润新知