gpt4 book ai didi

php - 为什么我的 PHP 数组给我 "Cannot use object of type stdClass as array"?

转载 作者:可可西里 更新时间:2023-10-31 23:55:52 27 4
gpt4 key购买 nike

任何人都可以在这里提供帮助,我正在使用一个数组来拆分一些数据,并且在附加到的 View 上我收到了上面的错误。

这是我的代码:

用于 ajax View 的 PHP:

$images = array();
$data_link = array();
$data_id = array();
$data_likes = array();
$data_text = array();
foreach ($media as $data) {
//dd($data->caption);
$images[] = array(
//dd($data->caption),
"data_url"=>$data->images->standard_resolution->url,
"data_link"=>$data->link,
"data_text" => $data->caption['text'],
"data_id"=>$data->getId(),
"data_likes"=>$data->likes->count,
"data_like"=>$current_user->likes($data),
"data_token"=>$token

);
}
echo json_encode(array(
'next_id' => $media->getNextMaxTagId(),
'images' => $images
));

然后我使用加载更多按钮访问数据。当我调试 $data->caption 的代码时,我得到了这个:

object(stdClass)#62 (4) {
["created_time"]=>
string(10) "1377775401"
["text"]=>
string(48) "New arrival #folkclothing reversible knit/jacket"
["from"]=>
object(stdClass)#63 (4) {
["username"]=>
string(18) "vanmildertclothing"
["profile_picture"]=>
string(76) "http://images.ak.instagram.com/profiles/profile_24567722_75sq_1342623790.jpg"
["id"]=>
string(8) "24567722"
["full_name"]=>
string(11) "Van Mildert"
}
["id"]=>
string(18) "533141169038331174"
}

有谁知道我为什么会收到这个错误?


由于错误与预期不符,在此处进行了编辑


ajax jquery 调用如下:

  $('#more').click(function() {
var tag = $(this).data('tag'),
maxid = $(this).data('maxid');

$.ajax({
type: 'GET',
url: '/ajax',
data: {
tag: tag,
max_tag_id: maxid
},
dataType: 'json',
cache: false,
complete: function(){
},
success: function(data) {
// Output data
$.each(data.images, function(i, src) {
var $content = $('<article class="instagram-image"><form id="'+ data.images[i].data_token +'" class="forms status-'+ data.images[i].data_like +'" action="'+base+'" method="post"><a class="fancybox" rel="folk-1" href="' + data.images[i].data_url + '"><img alt="' + data.images[i].data_text + '" src="' + data.images[i].data_url + '" alt="' + data.images[i].data_text + '" /></a><div class="formSubmit-feedback"></div><input type="hidden" name="id" value="'+ data.images[i].data_id +'"><p>'+ data.images[i].data_likes +'</p></form></article>');
var duration = 1000, n = 0.1;
$content.appendTo('section#images');
$item = $content.find('form');
if( $item.hasClass("status-false") ){
$item.addClass("notLiked");
//$('.notLiked').find('button.unlike').hide();
$item.find('a').after('<button class="ajax instabtn button-like like icon-heart" type="submit" name="action" value="Like"></button>');
}
if( $item.hasClass("status-true") ){
$item.addClass("Liked");
//$('.Liked').find('button.like').hide();
$item.find('a').after('<button class="ajax instabtn button-unlike unlike icon-heart" type="submit" name="action" value="Unlike"></button>');
}
});
// Store new maxid
$('#more').data('maxid', data.next_id);
},
error:function(){
$('#error-panel').html('<p class="error"><strong>Oops!</strong> Try that again in a few moments.</p>');
}
});
});

在页面上,我有一个按钮可以将更多 instagram 图像加载到容器中,它适用于其他所有内容,但不适用于我尝试访问的标题 -> 文本。如果我转到 url/ajax,我会得到我想要的数据,它会在 text_data 数组中显示文本,但是当涉及到从 load more 将其加载到图像中时,我会收到该错误。

这正是我得到的错误:

渲染 View 错误:[instagram.ajax]尝试获取非对象的属性

不像我最初想的那么简单。

最佳答案

正如它所说:$data->caption 是一个对象,但您正试图使用​​ $data-> 像访问数组一样访问它标题[‘文本’]。像访问对象一样访问它:

$data->caption->text

关于php - 为什么我的 PHP 数组给我 "Cannot use object of type stdClass as array"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18535885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com