Доступ к элементам массива — вне PHP PDO

У меня есть закодированный массив JSON, успешно заполненный следующим образом:

$profanityText = json_encode($pds->fetchAll(PDO::FETCH_ASSOC));

позже я хочу просмотреть эти данные и делаю следующее:

    $profanityTextArray = json_decode($profanityText);
    foreach ($profanityTextArray as $key => $jsons) {
      print_r($jsons);
    }

Когда я использую print_r($jsons), я получаю следующий вывод:

stdClass Object
(
     [apple] => yes
     [peach] => yes2
     [banana] => no
)
(
     [apple] => yes
     [peach] => yes2
     [banana] => no
)

это тоже нормально. Загвоздка в том, что я не знаю, как получить доступ к отдельным элементам во время цикла foreach. например: я хочу иметь доступ к яблокам и бананам для принятия необходимых решений.

как я могу получить доступ к элементам по отдельности, а не просто print_r каждую строку?


person Adam    schedule 26.02.2013    source источник


Ответы (2)


Попробуй это :

foreach ($profanityTextArray as $key => $jsons) {
  echo $jsons->apple;
  echo $jsons->peach;
  echo $jsons->banana;
}
person Prasanth Bendra    schedule 26.02.2013

Справочная страница всегда помогает:

$profanityTextArray = json_decode($profanityText, TRUE);
foreach ($profanityTextArray as $row) {
    echo $row['apple'];
}

Но в чем причина кодирования/декодирования JSON? Разве вы уже не можете использовать результат fetchAll?

$profanityTextArray = $pds->fetchAll(PDO::FETCH_ASSOC);

а затем повторить этот массив обычным способом?

Кстати, ваш вопрос не имеет ничего общего с PDO.
У вас есть обычный массив из PDO, и его источник не имеет значения.

person Your Common Sense    schedule 26.02.2013