访问数组元素 - PHP PDO之外

时间:2013-02-26 09:42:00

标签: php arrays json 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循环期间如何访问单个元素。例如:我希望能够访问苹果和香蕉个人做出必要的决定。

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

2 个答案:

答案 0 :(得分:2)

A manual page always helps:

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

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

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

然后通常迭代这个数组?

顺便说一下,你的问题与PDO无关 你有一个PDO的常规阵列,它的来源无关紧要。

答案 1 :(得分:1)

试试这个:

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