0

私はまだ PHP を学んでおり、まだ答えを見つけることができていない奇妙な項目があります。範囲の多次元配列があり、最初と 3 番目の範囲のセットのみの値をエコーアウトする必要がありますが、2 番目のセットはエコーアウトしません。範囲値自体をエコーアウトする方法を見つけるのに苦労しています。これまでの私のコードは次のとおりです。

$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

2番目のインデックスに範囲を表示したくないので、試すことができます

<?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

範囲は単なるインデックスの配列であるため、それをどのように表現するかはあなた次第です。最初と最後のインデックスを出力したい場合があります。

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

最初と 3 番目の範囲を選択するには、それらを明示的に参照します。

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

print_r($array) または var_dump($array) のいずれかを使用できます。2 番目の方法は、出力を構造化するため優れていますが、配列が大きい場合、すべてのコンテンツが表示されるわけではありません。この場合、最初のものを使用します - 配列全体を「エコー」しますが、1 行で結果が読みにくくなります。

于 2013-04-11T15:52:44.950 に答える
0

ここに1つの解決策があります:

$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

これをやりたいですか?

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