2012-02-20 121 views
1

我需要幫助如何從這個循環變量中刪除最後一個逗號。循環刪除最後的逗號

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

FireFox似乎並不介意,但IE做的。

如果有什麼辦法可以擺脫。=和以另一種方式循環我的數據,我會非常感激。

+2

不用你爲什麼內置的json序列化程序? – 2012-02-20 18:30:25

回答

4

我們需要查看腳本的其餘部分。 但是從我瞭解你的情況,當你回聲$ image_meta(循環後,我想)你可以做的兩個一:

echo rtrim($image_meta,','); 

echo substr($image_meta,0,-1); 
+0

啊,我們走了,非常非常感謝你,這沒有把戲。最受讚賞 – Khaled 2012-02-20 18:36:48

1

看看破滅:

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); 
+0

我檢查了整個implode函數,但沒有把它用於這1行,任何想法如何植入它? – Khaled 2012-02-20 18:33:00

+0

剛剛更新,以澄清我的意思:) – MarkR 2012-02-20 18:45:07

1

你可以這樣做:

$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()

相關問題