用逗号分隔php字符串

时间:2015-01-15 08:54:54

标签: 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,城市,邮政编码,州,国家/地区

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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;

答案 2 :(得分: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>