访问数组元素-脱离PHP PDO


Access Array Elements - Out of 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循环中访问各个元素。我希望能够访问苹果和香蕉个人,以做出必要的决定。

如何单独访问元素,而不是只打印每一行?

手动页面始终有助于:

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

但是,对JSON进行编码/解码的原因是什么?不能使用fetchAll结果吗?

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

然后用通常的方式迭代这个数组?

顺便说一下,你的问题与PDO无关
你有一个来自PDO的常规数组,它的来源并不重要。

试试这个:

foreach ($profanityTextArray as $key => $jsons) {
  echo $jsons->apple;
  echo $jsons->peach;
  echo $jsons->banana;
}