用逗号分隔php字符串

用逗号分隔php字符串,php,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 $use

我有以下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,城市,邮政编码,州,国家


    有很多方法可以做到这一点。一是:

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

    若要在代码中添加,请将其更改为下面的。它可以整理您的代码,不需要多个php括号等,只需将其设置为一个实例即可。还有其他方法,但这取决于$user_元变量中的内容

    <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>
    

  • 您可能只想尝试一下sprintf()


    你为什么不回音这个字符串呢。。。。另外,您不需要一直打开和关闭php括号,打开它们,回显所有内容,然后关闭它们。它的overkill@NoLiver92我该怎么做?对不起,我不是php专家。如果你觉得这是一个愚蠢的问题,请不要否决我,我真的不太懂php,学习,谢谢你不会因为这是一个愚蠢的问题而被否决。你会被否决,因为你问的问题之前已经被回答了很多次,如果你在谷歌搜索你的标题,会有很多answers@NoLiver92没错,我找到了一些答案,但我不太了解php,无法将这些答案融入到我自己的案例中,这就是为什么我再次要求提供我的代码。如果你对php不太了解,为什么不通过NewBoston这样的网站来学习它呢?在执行php任务之前,这些网站会解释它的功能。这是一种干净的方法。但没有考虑任何订购需求。我添加了订购版本;)谢谢你的评论@我有个问题。我实现了您发布的最新解决方案(#3)。问题是,即使字段未归档,它仍会显示逗号。例如,如果在所有字段中只填写了一个字段,我的输出看起来像,,,City,,,我怎么能只在有效输入后显示逗号?@Spoke44非常感谢。现在效果很好。我还不能投票,因为我的声誉分数很低,但非常感谢,你是一个传奇人物。顺便说一句,你的代码不太好。如果用户只在所有字段中填写一个字段,而将其余字段留空,它仍然会创建逗号。然后,你必须添加If语句来检查字段是否已设置,然后回显字段和逗号(如果已设置)。
    $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;