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 ','; } }