Удалить последнюю запятую из кода? - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь удалить последнюю запятую, чтобы она выглядела как

1,2,3 instead of 1,2,3,

Вот то, что я имею до сих пор;

<?php
    include_once 'header.php';
 ?>
<div id="content">
    Lesson on arrays<br />
    <?php
        $nums = array(0, 1, 2, 3);
        echo "My 1st array =";
        foreach ($nums as $value) {
        echo rtrim($value,",");
        }
?>
</div>
<?php
    include_once 'footer.php';
?>

В настоящее время с командой rtrim я возвращаюсь

My 1st array =0123

Спасибо за любую помощь

Ответы [ 6 ]

0 голосов
/ 04 мая 2018

Вы можете использовать более общий способ, как показано ниже, здесь запятая добавляется начиная со второго элемента:

implode - самый быстрый способ достичь этого, как объяснено в предыдущем ответе, но если вы используете loop, используйте следующий код:

<?php
$nums = array(0, 1, 2, 3);
echo "My 1st array =";

$comma = '';
foreach ($nums as $key => $value) {
    echo $comma . $value;
    $comma = ',';
}
?>
0 голосов
/ 04 мая 2018

У вас есть два способа сделать

<?php 
            $string = "";
            $nums = array(0, 1, 2, 3);
            echo "My 1st array = ";

            foreach ($nums as $value) {
                $string .= $value.",";
            }
            print_r(rtrim($string,','));
?>
Или

<?php 

 $nums = array(0, 1, 2, 3);
 $string_by_implode = implode(',',$nums);
 echo "My 1st array = " . $string_by_implode;

?>
0 голосов
/ 04 мая 2018

Если вы должны использовать эту настройку, используйте ключ $ в foreach, чтобы определить, должна ли быть запятая или нет.

$nums = array(0, 1, 2, 3);
echo "My 1st array =";

foreach ($nums as $key => $value) {
    if($key !=0) echo ",";
    echo $value;
}

https://3v4l.org/kKKg1

0 голосов
/ 04 мая 2018

Зачем использовать цикл foreach, когда вы можете сделать это без цикла, используя implode (). Функция implode () возвращает строку, отделенную «разделителем» от элементов массива.

$nums = array(0, 1, 2, 3); 

echo "My 1st array = "; 

$str=implode(",",$nums);

echo $str;

Это даст вам вывод как Мой 1-й массив = 0,1,2,3

0 голосов
/ 04 мая 2018

Попробуйте это

$myStr = 'planes,trains,automobiles,';
$myStr = trim($myStr, ',');

выход

самолеты, поезда, автомобили

0 голосов
/ 04 мая 2018

Вместо цикла for вы можете напрямую использовать функцию implode.

   <?php
       $nums = array(0, 1, 2, 3);
       echo "My 1st array =";
       echo implode(',',$nums);
  ?>

Редактировать: если вы хотите цикл foreach

<?php
         $nums = array(0, 1, 2, 3);
         echo "My 1st array =";
         $str='';
         foreach ($nums as $value) {
          $str.= $value.",";
         }
         echo rtrim($str,',');
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...