PHP for-цикл с целым числом - PullRequest
0 голосов
/ 05 сентября 2018

Я начал изучать PHP (для начинающих), и у меня возникли проблемы с циклом for. Необходимо создать for-loop , который выполняет итерацию от 0 до (включая) 16. Добавьте целочисленное значение для каждой итерации в строку и отделите каждый элемент с помощью «,» (запятая). Neet ответ с последней строкой без окончания ",".

Так долго я пришел.

 <?php
$string = "";
for ($x = 0; $x <= 16; $x++) {
    $string=$x ",";
} 
echo $string;
?>

Извините, ребята, за ваше время.

Хорошего дня!

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Есть много способов сделать это:

МЕТОД 1

$output = implode(',', range(0,16));  
echo $output;   //0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

Разбивка: изнутри Функция range() используется для создания массива (от 0 до 16), а затем функция implode() используется для объединения элементов массива, используя то, что мы называем клеем, и в нашем случае этот клей представляет собой , .

МЕТОД 2 - ПЕРЕДНЯЯ ПЕТЛЯ

Это можно сделать с помощью традиционного цикла for, но я всегда предпочитаю цикл foreach, поскольку он имеет более чистый синтаксис и его легче понять.

<?php
    $arr = range(0,16);  //Create an array from 0 - 16
    $output = "";       //Create an empty string to store the ouput
    foreach($arr as $item){   //Loop through each item of the array
        $output .= $item.',';   //Concatenate a comma to the current item and assign it to the output
    }

    echo rtrim($output, ',');   //trim the last comma to the right using `rtrim()` and then `echo` the output  //0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

?>

МЕТОД 3 - ДЛЯ ПЕТЛИ

<?php

    $output = "";

    for($i = 0; $i <= 16; $i++) {
        $output .= $i.',';
    }

    echo rtrim($output, ',');
?>
0 голосов
/ 05 сентября 2018

Запятую нужно добавлять только тогда, когда (if) $x не является последним числом в «цикле»:

<?php

$string = "";

for ($x = 0; $x <= 16; $x++) {
    $string .= $x;
    if ($x != 16 ) {
        $string .= ",";
    }
}

echo $string;
0 голосов
/ 05 сентября 2018

Используйте trim() после завершения конкатенации

$string = "";
for($i =0; $i<=16;$i++)
{
   $string.=$i.",";
} 
$string = trim($string,",");
echo $string;

Вы также можете получить тот же результат по одной строке кода, как показано ниже -

echo implode(",", range(0, 16));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...