Pourquoi mon tableau PHP donnez-moi “Ne peut pas utiliser d'objet de type stdClass comme matrice”?

Quelqu'un peut-il peut aider ici, je suis en utilisant un tableau pour obtenir certaines données partagée et sur la vue c'est attaché, j'obtiens cette erreur ci-dessus.

voici mon code:

PHP ajax pour afficher:

$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
  ));

J'ai ensuite accéder aux données avec une charge plus de bouton. Quand je déboguer le code pour $data->caption j'obtiens ceci:

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"
}

Personne ne sait pourquoi j'ai cette erreur?


Édité ci-dessous ici que l'erreur n'est pas comme prévu


L'ajax jquery appel pour ce est comme ci-dessous:

  $('#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"  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>');
}
});
});

Sur la page j'ai un bouton qui charge plus instagram des images dans le conteneur, il fonctionne bien avec tout le reste mais pas avec la légende->texte sur lequel j'essaie d'accès. Si je vais à l'url /ajax-je obtenir les données que je veux et il affiche le texte dans la text_data tableau, mais quand il s'agit de chargement que dans les images de la charge de plus je reçois cette erreur.

C'est exactement l'erreur que j'obtiens:

Error rendering view: [instagram.ajax]Trying to get property of non-object

Pas aussi simple que je le pensais.

Parce que caption n'est pas un tableau, votre dump vous dit qu'il est un objet de stdClass et qu'il a bien appelé text. Ce n'est pas $data->caption['text'], c'est $data->caption->text. Fondamentalement, vous avez eu à lire l'erreur et de le comprendre. Vous avez essayé d'utiliser l'objet comme un tableau. Erreur indique que vous ne pouvez pas utiliser l'objet comme un tableau. Vous ignoré, et alla se poser la question, donc je vais downvote vous faute d'avoir essayé, c'est vraiment une banale erreur de base et des notions de base
wow, ok! Merci pour votre droit de l'honnêteté. La question n'est pas aussi droite que ça, parce que avec ce que j'obtiens cette erreur: Trying to get property of non-object. Je suis accédant à l'url par le biais d'un appel ajax et quand j'ai inspecter l'onglet réseau pour l'appel que je reçois une erreur et par le biais de l'enquête, il jette l'erreur.
Eh bien, maintenant vous êtes arrivé à un autre problème et devrait probablement inclure tout ce que vous essayez de faire, de sorte que nous pouvons réellement aider à vous au lieu de critiquer 🙂 l'erreur que vous avez initialement obtenu était à cause de vous bande de roulement de l'objet en tant que tableau. Maintenant, vous avez mentionné quelque chose d'autre. L'esprit, y compris tous vos étapes, de sorte que nous pouvons aussi voir ce qu'il se passe et où ça se passe mal?
Bon de garder un œil sur la nouvelle version éditée cheers 🙂

OriginalL'auteur M dunbavan | 2013-08-30