Foreach循环,只显示php中的第一个元素结果?

时间:2017-08-29 11:30:45

标签: php

我在这个网站上看到了一些答案,但没有一个适用于我的特定问题。 当我试图循环数组时,它只显示一个数组元素。我必须得到循环结果。我已经尝试了许多可能的条件但没有任何效果请帮我解决这个问题。如何获得第一和第二元素结果

输出示例

print_r($items[$i]['svg']);

foreach循环结果只显示一个结果

Items array:


print_r($items);

  Array
(
    [0] => Array
        (
            [type] => text
            [remove] => 1
            [rotate] => 0
            [text] => Hello
            [fontFamily] => Twine
            [color] => #000000
            [colors] => Array
                (
                    [0] => #000000
                )

            [stroke] => none
            [strokew] => 0
            [width] => 219px
            [height] => 109px
            [file] => 
            [confirmColor] => 
            [svg] => 
Hello

            [id] => 0
            [lockedProportion] => 1
            [align] => center
            [outlineC] => none
            [outlineW] => 0
            [top] => 22px
            [left] => 175px
            [zIndex] => 1
        )

    [1] => Array
        (
            [type] => text
            [remove] => 1
            [rotate] => 0
            [text] => Tetst
            [fontFamily] => Twine
            [color] => #000000
            [colors] => Array
                (
                    [0] => #000000
                )

            [stroke] => none
            [strokew] => 0
            [width] => 207px
            [height] => 109px
            [file] => 
            [confirmColor] => 
            [svg] => 
Tetst

            [id] => 1
            [lockedProportion] => 1
            [align] => center
            [outlineC] => none
            [outlineW] => 0
            [top] => 195px
            [left] => 116px
            [zIndex] => 6
        )

当我尝试在foreach内部打印时,它只显示一个结果

$i = 0;

foreach($items as $item){
echo '<pre>';
    print_r($items[$i]); 
$i++
}
exit;

4 个答案:

答案 0 :(得分:1)

试试这个:

foreach($items as $i => $item){
    echo '<pre>';

    // either use this
    print_r($items[$i]); // it's actually not recomended

    // or use this
    print_r($item);

    echo '</pre>';
}

答案 1 :(得分:1)

你能编写你的数组,但我想用这个

foreach($items as $item){
   echo '<pre>';
   print_r($item); 
}
exit;

答案 2 :(得分:1)

您正在迭代$items,同时增加$i。它的结构不一样。 你正在混淆foreach()for()

做一个或其他人,但你必须选择:

$cnt = count($items);
for ($i = 0; $i < $cnt; ++$i) {
    print_r($items[$i]);
}

foreach ($items as $item) {
    print_r($item);
}

答案 3 :(得分:0)

由于foreach()本身会处理数字索引,因此不需要$i。你只能这样做: -

foreach($items as $item){
   echo '<pre/>';print_r($item); // print each sub-array of  original array
}

输出: - https://eval.in/851758