2013-04-11 115 views
0

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

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

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

    echo $x; 
} 

现在我知道,我的foreach循环甚至没有引用我的$阵列,这样的问题#1,但我似乎无法找到一种方法来引用$阵列在循环中并让它遍历值。然后我需要弄清楚如何从$数组中执行set 1 & 3。任何帮助,将不胜感激!

谢谢。

回答

0

你想这样做吗?

foreach ($array as $item) { 
    echo $item; 
} 
0

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

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; 
     } 
         } 
    } 
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并不是一个明智的名字,但是因为你的名字是这样命名的,所以我没有改变它以避免混淆

+0

,完美的工作,谢谢! – BoneBreaker 2013-04-11 16:00:54

0

范围只是一个索引数组,所以它取决于你如何表示它,你可能想打印的第一和最后一个索引:

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

挑第一和第三范围,引用它们明确:

print_range($array[1]); 
print_range($array[3]);