0

PHPでマルチアレイから値を出力しようとしていますが、各エントリから特定の値を取得する方法がわかりません。

配列 -

Array
(
    [images] => Array
        (
            [0] => Array
                (
                    [image] => sample1.jpg
                )

                [1] => Array
                    (
                        [image] => sample2.jpg
                    )

            )

    )

コード -

if ($query) {
    foreach ( $query as $outer_array ) {
        foreach ( $outer_array as $inner_array ) {
            $html .= '<img src="' . $inner_array[image] . '" alt="" />';
        }
    }
}

電流出力 -

<img src="" alt="" />
<img src="" alt="" />

これにより、空白の奇妙な結果が得られます。さまざまなアプローチを試してみましたが、マルチアレイの仕組みについて十分に熟達していないと思います。

編集:別のアプローチを採用しました。助けてくれてありがとう!

4

3 に答える 3

2

最初に画像を引用符で囲みます:

$inner_array['image']
于 2013-04-05T20:42:56.083 に答える
1

あなたの構造があなたの例のようであれば、$query['images'] を直接ループすることでループの 1 つを保存できます。

if (!empty($query['images'])) {
    foreach((array) $query['images'] as $image) {
        $html .= '<img src="' . $image['image'] . '" alt="" />';
    }
}
于 2013-04-05T20:47:54.140 に答える
0

$query が最も外側の配列を表している場合は、変更するだけです

foreach ( $query as $outer_array )

foreach ( $query['images'] as $outer_array )

したがって、次のようになります。

    if (isset($query['images']) && is_array($query['images'])) {

    foreach ( $query['images'] as $inner_array ) {            

            $html .= '<img src="' . $inner_array['image'] . '" alt="" />';

    }
}
于 2013-04-05T21:22:39.010 に答える