0

我有一个成功填充的 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?

4

2 回答 2

2

手册页总是有帮助的:

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

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

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

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

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

于 2013-02-26T09:46:24.787 回答
1

试试这个 :

foreach ($profanityTextArray as $key => $jsons) {
  echo $jsons->apple;
  echo $jsons->peach;
  echo $jsons->banana;
}
于 2013-02-26T09:45:37.553 回答