Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php输出多数组值_Php_Arrays_Foreach_Output_Sub Array - Fatal编程技术网

用php输出多数组值

用php输出多数组值,php,arrays,foreach,output,sub-array,Php,Arrays,Foreach,Output,Sub Array,我试图用PHP从一个多数组中输出值,但我无法理解如何从每个条目中检索特定的值 数组- Array ( [images] => Array ( [0] => Array ( [image] => sample1.jpg ) [1] => Array (

我试图用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="" />';
        }
    }
}
if($query){
foreach($queryas$outer\u数组){
foreach($外部数组作为$内部数组){
$html.='';
}
}
}
电流输出-

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

这给了我一个奇怪的结果。尝试了十几种不同的方法,我想我对多阵列的工作方式还不够精通


编辑:采用另一种方法。谢谢你的帮助

首先在图像周围加引号:

$inner_array['image']

首先在图像周围加引号:

$inner_array['image']

如果您的结构与示例中类似,则可以通过直接循环$query['images']来保存其中一个循环:

if (!empty($query['images'])) {
    foreach((array) $query['images'] as $image) {
        $html .= '<img src="' . $image['image'] . '" alt="" />';
    }
}
if(!empty($query['images'])){
foreach((数组)$query['images']作为$image){
$html.='';
}
}

如果您的结构与示例中类似,您可以通过直接在$query['images'上循环来保存其中一个循环:

if (!empty($query['images'])) {
    foreach((array) $query['images'] as $image) {
        $html .= '<img src="' . $image['image'] . '" alt="" />';
    }
}
if(!empty($query['images'])){
foreach((数组)$query['images']作为$image){
$html.='';
}
}

如果$query表示最外层的数组,则只需更改

foreach ( $query as $outer_array )

所以它应该看起来像:

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

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

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

    }
}
if(isset($query['images'])和&is_数组($query['images'])){
foreach($query['images']作为$internal_数组){
$html.='';
}
}

如果$query表示最外层的数组,则只需更改

foreach ( $query as $outer_array )

所以它应该看起来像:

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

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

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

    }
}
if(isset($query['images'])和&is_数组($query['images'])){
foreach($query['images']作为$internal_数组){
$html.='';
}
}


执行var_dump($html),您得到了什么?@mpm,我得到了“string(22)”和“string(43)”,我假设这是对图像的引用。我尝试了您的示例,它对我有效,您在某处执行此操作后是否真的回显了$html变量?是的,输出变成了两个空的图像元素。这很奇怪,因为它在我的本地主机上非常适合我。。。您说过使用
$internal_array[0]['image']
有效吗?如果在所有循环之前添加一个变量
$i=0
,然后使用
$internal\u array[$i]['image']]
在引用它之后放置
$i++
?进行变量转储($html),你得到了什么?@mpm,我得到了“string(22)”和“string(43)”,我假设这是对图像的引用。我已经尝试了你的示例,它对我很有用,在某处执行此操作后,您是否真的回显了$html变量?是的,输出变成了两个空图像元素。这很奇怪,因为它在我的本地主机上非常适合我。。。您说过使用
$internal_array[0]['image']
有效吗?如果您在所有循环之前添加一个变量
$i=0
,然后使用
$internal\u array[$i]['image']]
在引用它之后放置
$i++
,会怎么样?我喜欢这个想法,尽管出于某种原因,循环根本不使用此设置运行。
打印($query)的输出是什么?与上面提到的数组相同。那么这应该可以工作。可能尝试使用
print\r
var\u dump
一步一步地调试数据流,看看它是否失败了。我喜欢这个想法,尽管出于某种原因,这个设置根本不会运行循环。
print\r($query)的输出是什么?与上面提到的数组相同。那么这应该可以工作。可能尝试使用
print\r
var\u dump
一步一步地调试数据流,看看它是否失败。谢谢,但没有帮助。我认为这是引用值的良好实践?当然是。否则,php将图像解释为常量,只有在查找失败后,它才会返回到“image”。除非使用数字作为键,否则应始终使用引号。启用错误显示,并将错误报告级别设置为E_ALL for development。这样PHP解释器就会为您指出这些问题。谢谢你的澄清!这不是一个很好的练习,这是
的方法,否则你最终会使用
未定义的常量
注意事项,但是没有帮助。我认为这是引用值的良好实践?当然是。否则,php将图像解释为常量,只有在查找失败后,它才会返回到“image”。除非使用数字作为键,否则应始终使用引号。启用错误显示,并将错误报告级别设置为E_ALL for development。这样PHP解释器就会为您指出这些问题。谢谢你的澄清!这不是一个好的做法,这是
的方法,否则您将使用
未定义常量
注意事项