Цикл с удалением запятой в конце - PullRequest
1 голос
/ 20 февраля 2012

Мне нужна помощь, как убрать последнюю запятую из этой зацикленной переменной, пожалуйста.

$image_meta .= "{\"id\":\"".$img_id."\",\"client\":\"".$img_desc."\",\"desc\":\"Test\"},";

FireFox, похоже, не против, но IE это делает.

Если есть какой-либо способ даже избавиться от. = И зациклить мои данные другим способом, я был бы очень благодарен.

Ответы [ 3 ]

4 голосов
/ 20 февраля 2012

Нам нужно увидеть остальную часть сценария. Но из того, что я понимаю в вашей ситуации, когда вы выводите $ image_meta (после цикла, я полагаю), вы можете сделать одно из двух:

echo rtrim($image_meta,',');

или

echo substr($image_meta,0,-1);
1 голос
/ 20 февраля 2012

Вы можете сделать это следующим образом:

$ar_image_meta = array();

for/foreach() // your loop
{
  $ar_image_meta[] = '{"id":"'.$img_id.'","client":"'.$img_desc.'","desc":"Test"}';
}

$image_meta = implode(", ", $ar_image_meta);

Если ваша цель - «преобразовать» переменную PHP в переменную Javascript, взгляните на json_encode().

1 голос
/ 20 февраля 2012

посмотрите на имплозу:

http://php.net/manual/en/function.implode.php

Просто чтобы прояснить, я предполагаю, что вы делаете что-то похожее на это:

$image_meta = '';
foreach($blahs as $blah){
   $image_meta .= "{\"id\":\"".$img_id."\",\"client\":\"".$img_desc."\",\"desc\":\"Test\"},";
}

Что-то подобное должноработа:

$image_meta_arr = array();
foreach($blahs as $blah){
   array_push($image_meta, "{\"id\":\"".$img_id."\",\"client\":\"".$img_desc."\",\"desc\":\"Test\"}";
}

$image_meta = implode(',', $image_meta_arr);
...