在PHP中将数组格式化为带有逗号的列表以及在最后一个元素之前使用单词“and”的有效方法是什么?
$array = Array('a','b','c','d');
我想生成字符串“a,b,c和d”
答案 0 :(得分:2)
我想应该这样做:
$array[ sizeof($array) - 1 ] = 'and ' . $array[ sizeof($array) - 1 ];
$list = implode(', ', $array);
答案 1 :(得分:2)
我会修改$array
以添加"and"
,然后用逗号连接部分输出:
array_push($array, " and " . array_pop($array));
print join(", ", $array);
但您也可以使用array_pop
分隔最后一个条目,加入其余条目,然后附加“和”和最后一个条目。
答案 2 :(得分:0)
有很多方法可以做到,一个是:
<?
$array = Array('a','b','c','d');
$string=implode(',',$array);
$nstring=substr_replace($string,' and ', -1, 0);
echo $nstring;
答案 3 :(得分:0)
<?php
$array = Array('a','b','c','d');
$array[count($array)-1] = 'and '.$array[count($array)-1];
echo implode($array, ', ');
?>
答案 4 :(得分:0)
尝试:
function arrayEnum($array)
{
$string = '';
for (i = 0, $l = count($array); i < $l; ++i)
{
$string .= $array[$i];
if (i != ($l -1)) $string .= ', ';
if (i == ($l -2)) $string .= 'and '
}
}
$array = Array('a','b','c','d');
echo $array; // a, b, c, and d
$array = Array('one','two','three','four');
echo $array; // one, two, three and four
该功能适用于任何长度的数据。