0
stdClass Object
(
    [request] => stdClass Object
        (
            [other] => stdClass Object
                (
                    [4] => stdClass Object
                        (
                            [answer] => one
                        )

                    [5] => stdClass Object
                        (
                            [answer] => two
                        )

                    [6] => stdClass Object
                        (
                            [answer] => three
                        )
                )

        )
)
?>

foreach でループすることで、すべての回答を出力できます。

foreach( $result->request->other as $test )
      $tests[] = $test->answer;
            foreach($tests as $test1){
            echo "<p>$test1</p><br>";
          }

この場合は 4 5 6 である回答番号もエコーアウトする方法について少し混乱しています。ループの一部としてそれらをエコーアウトするにはどうすればよいですか。元:

4 one
5 two
6 three
4

2 に答える 2

1
foreach( $result->request->other as $key => $test )
      $tests[] = $test->answer;
            foreach($tests as $test1){
            echo "<p>$test1</p><br>";
          }

foreach 行を変更して、$test 変数の前に $key => を含めるだけです。これがインデックス (数値または連想) になり、その値を取得して、好きなように操作できます。

于 2012-09-27T23:22:21.687 に答える
1

foreach( $array AS $key=>$val )次のような構文を使用します。

foreach( $result->request->other as $key=>$test ) {
  printf( "<p>%s: %s</p><br />", $key, $test->answer );
}
于 2012-09-27T23:23:35.780 に答える