如何在一串值中添加逗号

时间:2013-10-04 18:57:41

标签: php

我有一个数组,我正在尝试连接这个数组的一些值。目前,$all看起来像:“AmazonSonySmashwordsBN”(见下面的代码)

如何让它看起来像:“亚马逊,索尼,Smashwords,BN”

我理解如何连接。我的问题是,如果其中一个$ bookcategory字符串为空,我不想要逗号。

$book = array("18"=>'BN', "19"=>'Amazon', "20"=>'Sony', "21"=>'Kobo', "22"=>'Smashwords', "23"=>'Apple', "24"=>'Android');

$bookcategory1 = $book[$catagory1];
$bookcategory2 = $book[$catagory2];
$bookcategory3 = $book[$catagory3];
$bookcategory4 = $book[$catagory4];


$all = $bookcategory1 . $bookcategory2 . $bookcategory3 . $bookcategory4; 

echo $all;

谢谢!

7 个答案:

答案 0 :(得分:8)

您可以使用implode function

加入数组
echo implode(', ', array_values($book));

如果您只想显示数组的某些元素(此处似乎只显示4个类别),请将数组减少为4个元素(或使用这些值创建一个新元素)并使用implode。

答案 1 :(得分:3)

有两种方法可以解决这个问题:

$all = "$bookcategory1, $bookcategory2, $bookcategory3, $bookcategory4"; 

双引号允许处理变量,而不是仅回显变量名。

OR

$all = $bookcategory1 .", ". $bookcategory2 .", ". $bookcategory3 .", ". $bookcategory4; 

答案 2 :(得分:2)

您可以使用$ a。 “,”。 $ b - 但这是一个更好的方法......它的工作方式与在shell脚本中使用变量非常相似:

    $a = "this";
    $b = "that";
    $c = "other thing";
    echo "${a},${b},${c}\n";

输出结果为:

  

这个,那个,其他的东西

答案 3 :(得分:1)

您可以使用:

$str = implode(', ', array_values($book));
//=> BN, Amazon, Sony, Kobo, Smashwords, Apple, Android

答案 4 :(得分:1)

$all = $bookcategory1 . $bookcategory2 . $bookcategory3 . $bookcategory4; 

应该是:

$all = $bookcategory1 . ", " . $bookcategory2 . ", " . $bookcategory3 . ", " . $bookcategory4; 

答案 5 :(得分:1)

可以这样做,因为这会将所有内容格式化为您想要的内容。

$all = $bookcategory1 . ", " . $bookcategory2 . ", " . $bookcategory3 . ", "  $bookcategory4; 

答案 6 :(得分:1)

如果要在数组值为空时避免使用额外的逗号,例如以下数组:

$book = array("18" => '',
              "19" => 'Amazon',
              "20" => 'Sony',
              "21" => 'Kobo',
              "22" => 'Smashwords',
              "23" => 'Apple',
              "24" => 'Android'
             );

$book[0] . ", " . $book[1] ...implode(", ",$book)的正常连接输出将以额外的逗号(, Amazon, Sony)开头,因为它也添加了空白值。要跳过空白,您需要过滤掉值:

$all = implode(", ",array_filter($book));

echo $all;
  // Amazon, Sony, Kobo, Smashwords, Apple, Android

http://codepad.org/CNvhYYBm