2013-04-11 31 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]);