我仍在学习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并让它遍历值的方法。然后我需要弄清楚如何只做第1&3。任何帮助都将不胜感激!
谢谢。
由于您不想在第二个索引上显示范围,您可以尝试
<?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
实际上不是一个合适的名称,但由于您是这样命名的,我没有更改它以避免混淆
您想这样做吗?
foreach ($array as $item) {
echo $item;
}
您可以使用print_r($array(或var_dump($array(。第二个更好,因为它构造输出,但如果数组很大,它不会显示所有内容。在这种情况下,使用第一个-它将"回声"整个数组,但在一行中,结果不容易读取。
范围只是一个索引数组,所以它取决于你如何表示它。如果你想表示它,你可能想打印第一个和最后一个索引:
function print_range($range)
{
echo $range[0] . " .. " . $range[count($range) - 1] . "n";
}
要选择第一个和第三个范围,请明确引用它们:
print_range($array[1]);
print_range($array[3]);
这里有一个解决方案:
$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;
}
}
}