使用“和”生成PHP列表

时间:2011-08-31 03:16:44

标签: php

在PHP中将数组格式化为带有逗号的列表以及在最后一个元素之前使用单词“and”的有效方法是什么?

$array = Array('a','b','c','d');

我想生成字符串“a,b,c和d”

5 个答案:

答案 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, ', ');

?>

http://codepad.org/7oeni6xv

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

该功能适用​​于任何长度的数据。