удалить запятую из текстового поля


Может ли кто-нибудь помочь мне взорвать последнюю запятую?

column name = used_receipt

Значения отображаются в столбце, как показано ниже...

301,302,303,

Теперь проблема в том, что когда я пытаюсь получить минимальное и максимальное значение из этого текстового поля и нажимаю сохранить, цикл for переходит в бесконечный цикл из-за последней запятой.

if(isset($_POST['save'])){
    $used_receipt = $_POST['used_receipt']; 
    $arr = array_filter(explode(",", $used_receipt));

    $min = min($arr);
    $max = max($arr);
    for ($i = $min; $i <= $max; $i++){
        $insertrow = $database->insertRow("INSERT INTO book_return (used_receipt) VALUES (:used_receipt)", 
                array(':used_receipt'=>$i));                
    }
}
Author: mickmackusa, 2015-02-27

2 answers

rtrim($used_receipt, ',');

Это приведет к удалению суффиксных запятых.

 1
Author: Hazonko, 2015-02-27 12:48:30

Вы допустили две ошибки:

1. У вас есть пробел в вашем заявлении о взрыве

2. Вы не удаляете пустые значения из своего массива

Итак, чтобы избавиться от этих ошибок, вы можете сделать следующее:

$arr = array_filter(explode(",", $used_receipt));
     //^^^^^^^^^^^^          ^ See only a comma without a space
     //| To remove empty values from your array
 4
Author: Rizier123, 2015-02-27 11:32:05