Intereting Posts
file_exists () слишком медленный в PHP. Может ли кто-нибудь предложить более быструю альтернативу? как я могу построить mysql bind_param () в группе выборок динамически? Сканирование Google Search с помощью PHP Как обнаружить откат в хранимой процедуре MySQL? Библиотека API REST CodeIgniter Ajax PUT throw 403 Запрещено Проверка файлов cookie и перенаправление с помощью Apache Использовать привязку после отправки формы POST Очистка кеша Symfony для другого приложения Как увеличить счетчик в строке замены при использовании preg_replace? Как я могу вставить javascript в php? Doctrine – добавьте отметку времени по умолчанию для сущности типа NOW () обновить значение поля выбора с помощью php mysql jquery ajax Отслеживание в реальном времени на карте google Используя PDO, действительно ли мне нужно запустить два отдельных подготовленных оператора, чтобы получить количество возвращаемых строк? Используя htmlspeciachars на выходе из базы данных (MySQL), что еще следует учитывать для предотвращения XSS?

PHP – удалить запятую из последнего цикла

У меня есть PHP в то время как LOOP, и я хочу удалить последнюю запятую , от echo '],'; если это последний цикл

  while($ltr = mysql_fetch_array($lt)){ echo '['; echo $ltr['days']. ' ,'. $ltr['name']; echo '],'; } 

 $str = ''; while($ltr = mysql_fetch_array($lt)){ $str .= '['; $str .= $ltr['days']. ' ,'. $ltr['name']; $str .= '],'; } echo rtrim($str, ","); 

это приведет к удалению последнего из строки

Создайте массив с элементами, когда вы идете так, чтобы они выглядели как array = ([ELEMENT INFO], [ELEMENT INFO], [ELEMENT INFO]) а затем implode массив запятой.

Я думаю, что системное решение следующее:

 $separator = ''; while($ltr = mysql_fetch_array($lt)){ echo $separator; echo '['; echo $ltr['days']. ' ,'. $ltr['name']; echo ']'; if (!$separator) $separator = ', '; } 

Нет вызова для count() , без дополнительной итерации implode() , никаких дополнительных операций с строками, готовых для любого (непредсказуемого) количества результатов.

 $result = mysql_fetch_array($lt); for ($i=0;$i<=(count($result)-1);$i++) { $ltr = $result[$i]; echo '['; echo $ltr['days']. ' ,'. $ltr['name']; echo ']'; if(!count($result)-1 == $i){ echo ','; } } 

Проверьте, сколько записей у вас есть, сделайте «Счетчик» и условие только для того, чтобы поместить запятую, когда это не последний цикл.

 $arr = array(); while($ltr = mysql_fetch_array($lt)){ $arr[] = '[' . $ltr['days'] . ' ,' . $ltr['name'] . ']'; } echo implode(',', $arr); 
 $res_array = array(); while($ltr = mysql_fetch_array($lt)){ $res_array[] = '['.$ltr['days']. ' ,'. $ltr['name'].']'; } $str = implode(",",$res_array); echo $str; . $res_array = array(); while($ltr = mysql_fetch_array($lt)){ $res_array[] = '['.$ltr['days']. ' ,'. $ltr['name'].']'; } $str = implode(",",$res_array); echo $str; 

Сохраните ответ как var вместо того, чтобы его эхом, а затем удалите конечный символ в конце с помощью substr.

  $response = ""; while($ltr = mysql_fetch_array($lt)){ $response .= '['; $response .= $ltr['days']. ' ,'. $ltr['name']; $response .= '],'; } echo substr($response, 0, -1); 
 //this one works $result = mysql_fetch_array($lt); for ($i=0;$i<=(count($result)-1);$i++) { $ltr = $result[$i]; echo '['; echo $ltr['days']. ' ,'. $ltr['name']; echo ']'; if(count($result)-1 != $i){ echo ','; } }