2015-03-30 6 views
1

Может ли кто-нибудь объяснить мне самым простым способом разницу между следующими? Прочитав о массивах PHP, я все равно не понимаю.Разница в значениях массива PHP в значениях

print $myArray[0]->token 

и

print $myArray[0]["token"] 

Edit:

Вопрос не о лучший подход, но и о значении этого. Ответ может увлекаться here, но это не прямой ответ на мой вопрос

+3

В f Первое выражение, есть объект по индексу 0 $ myArray, во втором - массив. – marekful

+0

Marcell дает самый простой ответ. Помните, что второй пример также может содержать объект с ключом 0, который реализует доступ к массиву – imclickingmaniac

+0

возможный дубликат [PHP Variable vs Array vs Object] (http://stackoverflow.com/questions/15521479/php-variable-vs-array-vs- объект) –

ответ

0
  1. объекта внутри массив, имеющего token элемента
  2. массива внутри массива, имеющего token элемент
2

Пример из всего этого:

<?php 

    //Creating simple object 

    $bookObject = new stdClass; 
    $bookObject->title = "Harry Potter and the Prisoner of Azkaban"; 

    //Adding object to books array 
    $books = array($bookObject);//this array is equivalent to your $myArray 

    //Acessing object using -> operator 
    echo $books[0]->title; 

    //Re-initializng books array 
    $books = array(0=>array("title" => "Harry Potter and the Prisoner of Azkaban")); 

    //Accessing elements of an array by key 
    echo $books[0]['title']; 

?> 
1
  1. $myArray представляет собой массив, имеющий объект с свойством (атрибут, переменный), названный token в качестве его первого элемента.

  2. $myArray представляет собой массив, имеющий ассоциативный массив с ключом имени token в качестве первого элемента.

Таким образом, это около двух различных структур данных, что массив холдинга в качестве первого элемента, индексированного 0.

Смежные вопросы