1

PHPでループコードを次のようにしています

for($i=10; $i<=50; $i=$i+10)
        {
            echo $i;
        }

10 20 30 40 50 が出力されます

$i=15 や $i=28 などの特定の $i 値を追加したい

したがって、10 15 20 28 30 40 50 と出力する必要があります。

コードをどのように編集すればよいですか?

4

7 に答える 7

4

特定の値が必要な場合は、それらの値で配列を作成し、それを反復処理する必要があります。

$vals = array(10, 15, 20, 28, 30, 40, 50);
foreach ($vals as $i) {
    echo $i;
}
于 2013-03-28T12:10:32.697 に答える
2

これらの値を表示する場所が決まっている場合は、単純な if を使用できます

    for($i=10; $i<=50; $i=$i+10)
    {

         echo $i;
        if($i == 10)
        {
          echo '15';
        }
        if($i == 20)
        {
           echo '28';
        }

    }
于 2013-03-28T12:12:07.100 に答える
2

では、「インタビューの質問」ゲームをプレイします。

for($i=10; $i<=50; $i++) {
    if ($i % 10 === 0) {
        echo $i;
    }
    else if ($i === 15 || $i === 28) {
        echo $i;
    }
}

http://codepad.org/JBPkm8W1での結果

「許容値」テーブルを追加することで、この回答を改善できます。

$allowed = array (15, 28); // List here all the non % 10 value you want to print
for($i=10; $i<=50; $i++) {
    if ($i % 10 === 0) {
        echo $i;
    }
    else if (in_array($i, $allowed)) {
        echo $i;
    }
}

http://codepad.org/w8Erv17Kの結果

于 2013-03-28T12:13:26.687 に答える
2

15 と 28 の値を配列に入れ、array_intersect を使用して値を取得できます。

15 と 28 の値 (中間値) を保持する配列を作成します。

$new_vals = array(15,28);

for ループで、 array_insersect 関数を呼び出して中間値を取得できます。最終的なコードは次のようになります。

$new_vals = array(15,28);

for($i=10; $i<=50; $i=$i+10)
{
    echo $i;
    $val_range = range($i,$i+10);
    $new_array = array_intersect($new_vals , $val_range);
    foreach($new_array as $value)
    {
        echo $value;
    }
}
于 2013-03-28T12:25:20.433 に答える
1

最も簡単な方法は、foreach@WaleedKhan が書いたようなループを使用することです。

配列を準備するには、forループを次のように使用できます。

$vals = array(); 
for($i = 10; $i <= 50; $i = $i + 10){
  $vals[] = $i;
  }
$vals[] = 15;
$vals[] = 28;
sort($vals);
foreach(...
于 2013-03-28T12:13:27.997 に答える
1

これを試して :

$extra      = array(15,28);
$res        = array();
for($i=10; $i<=50; $i=$i+10){
    $res[]  = $i;
}

$result     = array_merge($res,$extra);
sort($result);

echo "<pre>";
print_r($result);
于 2013-03-28T12:15:40.817 に答える
0

次のようなことができます。

function EchoLoopStuff($start, $to, $step) {
  for($i=$start; $i<=$to; $i=$i+$step) {
    echo $i;
  }
}

ただし、入力が矛盾した場合の問題から身を守るために、チェックを追加する必要があります。

于 2013-03-28T12:11:21.690 に答える