首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >FATAL ERROR Uncaught Error: Cannot use object of type stdClass as array如何解决?

FATAL ERROR Uncaught Error: Cannot use object of type stdClass as array如何解决?
EN

Stack Overflow用户
提问于 2018-05-31 06:26:11
回答 2查看 0关注 0票数 0

我有这样一个数组,它是从数据库查询中得到的:

代码语言:txt
复制
$arrname
Array (
    [0] => stdClass Object (
        [name] => Mike teach
        [age] => 67
        [gender] => Male
    )
    [1] => stdClass Object (
        [name] => Logan Pierce
        [age] => 45
        [gender] => Male
    )
    [2] => stdClass Object (
        [name] => Erikka Menh
        [age] => 60
        [gender] => Female 
    )
);

现在,我想将其附加到这个数组中,并假设它们类似于100行。我不能手动做,对吧?所以我试着用这个代码:

代码语言:txt
复制
foreach($arrname as $key => $value){
    $line = json_decode($value);
    $line['country'] = 'Us';        
    $line['occupation'] = 'Retired';
    $arrname[$key]  = json_encode($line);
}

echo $arrname[0]['country'];
EN

回答 2

Stack Overflow用户

发布于 2018-05-31 14:39:42

如果你想要一个对象,你应该这样使用它。

代码语言:txt
复制
[1] =>  new stdClass Object (
        'name' => 'Logan Pierce',
        'age' => 45,
        'gender' => 'Male'
    )
票数 0
EN

Stack Overflow用户

发布于 2018-05-31 15:39:23

更改此代码:

代码语言:txt
复制
foreach($arrname as $key => $value){
$line = json_decode($value);
$line['country'] = 'Us';        
$line['occupation'] = 'Retired';
$arrname[$key]  = json_encode($line);
}

echo $arrname[0]['country'];

为:

代码语言:txt
复制
foreach($arrname as $key => $value){
    $line = (array) $value;
    $line['country'] = 'Us';        
    $line['occupation'] = 'Retired';
    $arrname[$key]  = (object) $line;
}

echo $arrname[0]->country;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档