0

我仍在学习 PHP,并且有一些奇怪的项目,我还没有找到答案。我有一个多维范围数组,我只需要回显第一组和第三组范围的值,而不是第二组的值。我很难找到一种方法来回显范围值本身。到目前为止,这是我的代码:

$array = array(
    1=>range(1,4),
    2=>range(1,4),
    3=>range(1,4)
);

foreach(range(1,4) as $x)
{

    echo $x;
}

现在我知道我的 foreach 循环甚至没有引用我的 $array 所以这是问题 #1 但我似乎无法找到一种方法来引用循环中的 $array 并让它遍历这些值。然后我需要弄清楚如何从 $array 中做第 1 组和第 3 组。任何帮助,将不胜感激!

谢谢。

4

5 回答 5

1

由于您不想在第二个索引上显示范围,您可以尝试

<?php

$array = array(
    1=>range(1,4),
    2=>range(1,4),
    3=>range(1,4)
);

foreach($array as $i=>$range)
{
if($i!=2)
{
    foreach($range as $value)
    {
    echo $value;
    }
}
}

?>

注意:将变量命名为与语言对象相同的名称并不是很酷。$array不是一个真正可取的名字,但既然你是这样命名的,我没有改变它以避免混淆

于 2013-04-11T15:54:34.840 回答
0

你想这样做吗?

foreach ($array as $item) {
    echo $item;
}
于 2013-04-11T15:52:26.587 回答
0

您可以使用 print_r($array) 或 var_dump($array)。第二个更好,因为它构造了输出,但如果数组很大 - 它不会显示所有内容。在这种情况下,使用第一个 - 它会“回显”整个数组但在一行中,结果不易阅读。

于 2013-04-11T15:52:44.950 回答
0

这是一种解决方案:

$array = array(
1=>range(1,4),
2=>range(1,4),
3=>range(1,4)
);
   $i=0;

   foreach($array as $y)
   { $i++;
          echo "<br/>";

     if($i!=0){ foreach($y as $x)
       {
           echo $x;
       }
                      }
   }
于 2013-04-11T15:52:46.327 回答
0

Range 只是一个索引数组,所以由你决定如何表示它,你可能想要打印第一个和最后一个索引:

function print_range($range)
{
    echo $range[0] . " .. " . $range[count($range) - 1] . "\n";
}

要选择第一个和第三个范围,请明确引用它们:

print_range($array[1]);
print_range($array[3]);
于 2013-04-11T15:56:59.063 回答