2015-01-15 59 views
-5

我有下面的PHP代碼:單獨的PHP字符串昏迷

<li class="company-address"><i class="fa fa-map-marker"></i> <?php echo $user_meta['company'][0]; ?> <?php echo $user_meta['address_1'][0]; ?> <?php echo $user_meta['address_2'][0]; ?> <?php echo $user_meta['city'][0]; ?> <?php echo $user_meta['postcode'][0]; ?> <?php echo $user_meta['state'][0]; ?> <?php echo $user_meta['country'][0]; ?></li> 

如何添加每個PHP字符串後面一個逗號,除了最後一個得到下面的輸出? :

公司,地址1,地址2,城市,郵編,州,國家

非常感謝

+0

爲什麼你不迴應字符串....你也不需要打開和關閉php括號,打開它們,迴應一切,然後關閉它們。它的過度殺傷 – NoLiver92

+1

@ NoLiver92我該怎麼做?對不起,不是php的專家。如果你覺得這是一個愚蠢的問題,請不要低估我,我真的不知道php,學習,謝謝 –

+0

你不會因爲它的一個愚蠢的問題而被低估。你會被低估,因爲你問了以前多次回答,如果你在谷歌搜索你的標題有很多答案 – NoLiver92

回答

5

有很多方法可以做到這一點。其一是:

$result = array(); 
foreach($user_meta as $data){ 
    $result[] = $data[0]; 
} 
echo implode(', ' $result); 

另一個原因是:

$result = ""; 
foreach($user_meta as $data){ 
    if($result != "") 
     $result .= ", "; 
    $result .= $data[0]; 
} 
echo $result; 

對於一個有序的版本:

$order = array('company', 'address_1', 'address_2', 'city', 'postcode', 'state', 'country'); 
$result = array(); 
foreach($order as $elem){ 
    if($user_meta[$elem][0] != "") 
     $result[] = $user_meta[$elem][0]; 
} 
echo implode(', ', $result); 
+0

這是一個乾淨的方法。但沒有考慮到任何訂購需求。 – myte

+0

我添加了訂購版本;) 謝謝您的評論! – Spoke44

+0

@ Spoke44非常感謝您的幫助! –

0

要放一個,在你的代碼,將其更改爲下面這樣。它整理你的代碼,不需要多個php括號等,只需要一個實例。還有其他方法,但它取決於$ user_meta變量中的內容。

<li class="company-address"> 
<i class="fa fa-map-marker"></i> 
<?php 
    echo $user_meta['company'][0]; 
    echo ", "; 
    echo $user_meta['address_1'][0]; 
    echo ", "; 
    echo $user_meta['address_2'][0]; 
    echo ", "; 
    echo $user_meta['city'][0]; 
    echo ", "; 
    echo $user_meta['postcode'][0]; 
    echo ", "; 
    echo $user_meta['state'][0]; 
    echo ", "; 
    echo $user_meta['country'][0]; 
?></li> 
+0

你的代碼不是很好的btw。如果用戶只填寫一個字段並將其餘字段留空,它仍然會創建逗號。 –

+0

然後,您將不得不添加if語句來檢查字段是否已設置,然後在該字段和逗號之間回顯。 – NoLiver92

1

你可能想給sprintf()一試。

$x = sprintf("%s, %s, %s, %s, %s, %s, %s", $user_meta['company'][0],$user_meta['address_1'][0], $user_meta['address_2'][0], $user_meta['city'][0], $user_meta['postcode'][0], $user_meta['state'][0],$user_meta['country'][0]); 

echo $x;