错误:将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关联数组,用[]即可

**PHP错误Cannot use object of type stdClass as array in错误的的更多相关文章

  1. PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)

    php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误 错误:Cannot use object of type stdClass as arra ...

  2. PHP json_decode object时报错Cannot use object of type stdClass as array

    PHP json_decode object时报错Cannot use object of type stdClass as array php再调用json_decode从字符串对象生成json对象 ...

  3. iwebshop (: Cannot use object of type stdClass as array in)

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

  4. PHP“Cannot use object of type stdClass as array”

    php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误 错误:Cannot use object of type stdClass as arra ...

  5. Fatal error: Cannot use object of type PHPExcel_RichText as array

    Fatal error: Cannot use object of type PHPExcel_RichText as array 上传导入Excel的时候会出现此问题,问题的原因是Excel表格中有 ...

  6. spring boot 之 错误:SpelEvaluationException: EL1008E: Property or field 'timestamp' cannot be found on object of type 'java.util.HashMap'

    这个错误我也见过很多次了,今天终于理解了其出现的原因. 错误是这样的: 2017-11-23 18:05:39.504 ERROR 4092 --- [nio-8080-exec-3] o.a.c.c ...

  7. 搭建Turbine时,报错误:Property or field 'default' cannot be found on object of type 'com.netflix.appinfo.InstanceInfo'

    Spring Boot + Eureka Server + Hystrix with Turbine: empty turbine.stream 配置的时候遇到了问题: Property or fie ...

  8. MyBatis Generator报错:Cannot instantiate object of type

    [ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate ( ...

  9. Unable to cast object of type 'System.Int32' to type 'System.Array'.

    x 入职了新公司.最近比较忙...一看博客...更新频率明显少了...罪过罪过... 新公司用ASP.NET MVC 遇上一个错误: Unable to cast object of type 'Sy ...

随机推荐

  1. 发送邮件 tp5.1 5.0都可以,实测有效

    https://www.cnblogs.com/zhensg123/p/8954175.html 博客文章少了个Expection.php 文件; common.php <?php // 应用公 ...

  2. SQL复杂语句查询练习

    --复杂查询练习 -- 1 .列出所有员工的年工资,按年薪从低到高排序. SELECT (SAL+NVL(COMM,0))*12 INCOME FROM EMP ORDER BY INCOME; -- ...

  3. linux命令总结之state命令

    ls 命令及其许多参数提供了一些非常有用的文件信息.另一个不太为人所熟知的命令 stat 提供了一些更为有用的信息. [root@Gin scripts]# man stat STAT() User ...

  4. [老法新用]使用PADDING-TOP:(PERCENTAGE)实现响应式背景图片

    处理响应式布局中背景图片的简单方法是等比例缩放背景图片.我们知道宽度设为百分比的  <img> 元素,其高度会随着宽度的变化自动调整,且其宽高比不变.如果想在背景图片中实现同样的效果,我们 ...

  5. ubunto 16.04 lts 源

    http://601502546.blog.163.com/blog/static/2596107620171502517889 国内有很多ubuntu的源,包括:网易源(这个之前用过,速度很快的), ...

  6. 路径名导致的异常:javax.imageio.IIOException: Can't read input file!

    背景: 写了一个测试程序,目的是读取本地的图片,为其打上水印图片.在使用过程中总会遇到:javax.imageio.IIOException: Can't read input file!的错误,最开 ...

  7. git爬坑不完全指北(二):failed to push some refs to ‘XXX’的解决方案

    报错分析        从字面理解,这个报错的意思就是说远程仓库里有一个改动是本地仓库里没有的,所以在push前要先把远程仓库上的改动pull或者fetch到本地仓库.然后再执行push的操作,把本地 ...

  8. javascript精雕细琢(二):++、--那点事

    目录 引言 ++和--在数学运算中的计算规则 ++和--在变量引用时的计算规则 ++和--的数据转换应用 引言 对于接触JS时间不长的前端来说,刚开始要实现诸如轮播图,选项卡等小模块时,肯定会用到in ...

  9. Android 使用GPS获取到经纬度后 无法在Android8.0上使用Geocoder类获取位置信息

    由于我的应用在获取到经纬度后在Android8.0不能使用如下代码获取位置信息.只好使用百度地图 WEB服务API 通过调接口的方式获取位置信息. Geocoder geocoder = new Ge ...

  10. git 第一次关联远程仓库

    1.首先需要先git pull origin master 2.然后合并两个无关的仓库 git pull origin master --allow-unrelated-histories