2010-05-03 58 views
2

我黑客一起爲WordPress主題,我使用下面的代碼拔出從自定義字段數據與幾個值:新秀PHP問題

  <?php $mykey_values = get_post_custom_values('services'); 
      foreach ($mykey_values as $key => $value) { 
      echo "<span>$value, </span>"; 
      } ?> 

我用逗號將單獨的結果,但最後結果後我不想要逗號。我如何解決這個問題?

回答

6

最好的辦法是用implode

echo('<span>' . implode('</span>, <span>', $mykey_values) . '</span>'); 
+0

啊是的,我忘記了'內爆'!但是它包含''標籤嗎? – FrustratedWithFormsDesigner 2010-05-03 18:05:51

+0

是的內爆是如此美好:)更新的答案包括現在的跨度。 – AlexV 2010-05-03 18:09:20

+5

難道你不想'implode(',',$ vals)'而不是?這樣,每個值都在span標籤中。這就是OP在代碼中所做的事情......只是一個想法。 =) – 2010-05-03 18:11:19

0

許多方法可以做到這一點......我能想到的第一個方法是使用echo而不是使用echo,將所有結果連接成一個字符串,然後刪除最後的,字符。

另一種方法是使用for循環,而不是foreach,然後遍歷到$mykey_values大小 - 1,然後打印無,最後一個。而且我確信其他人會發布其他方式(可能也有真實的代碼 - 我的PHP太生疏了,不敢冒險真正的代碼示例)。

+0

感謝您的快速回復。我必須承認,我不知道任何PHP,所以「複製粘貼」的回覆將非常appriciated :) – Thomas 2010-05-03 18:05:43

+0

@Thomas:但我相信你會很快學習! – FrustratedWithFormsDesigner 2010-05-03 18:06:19

+1

每當出現這種情況,人們都會說要檢查'len-1'並省略最終的逗號;我是唯一一個檢查'0'並忽略第一個?這似乎更容易 – 2010-05-03 18:09:57

0
echo "<span>" . implode(',</span><span>',$mykey_values) . "</span>; 

編輯:順便說一句,如果你使用這個代碼不使用循環。