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'] 来保存其中一个循环:

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 回答