在PHP和Ruby中处理这个特定的字符串操作

时间:2011-03-01 17:13:03

标签: php ruby

我写了很多元程序。 Ruby和PHP中的脚本,可生成不同的其他编程语言和结构。示例说一个从CSV读取并生成SQL查询的脚本。

这是我遇到的一个问题很多次,我总是对我解决它的方式感到恼火。

我有一个数组说

array= %w[chris sandy jones amar kuthrapalli]

我需要将此数组转换为类似于

的字符串
chris,sandy,jones,amar,kuthrapalli

现在很容易迭代并将每个名称添加到字符串中。但是我讨厌写一个特殊的条件,就是不要把那个“最后一个额外的逗号”放到那里去。

“foreach”谎言循环的美妙之处在于我们不再需要为索引而烦恼,但后来我被迫使用带索引的迭代器。 (因为我= 0 ......等等等等)

可能这是解决这个问题的唯一方法但有更好的方法吗?

这是一个简单的问题,但这种问题本身在我的工作中有许多不同的方式。

3 个答案:

答案 0 :(得分:1)

这是join的用途:

# chris,sandy,jones,amar,kuthrapalli
%w[chris sandy jones amar kuthrapalli].join(',')

PHP提供了类似的功能,implode

implode(',', array('chris','sandy','jones','amar','kuthrapalli'));

如果您需要引用单个术语以将它们输出为以逗号分隔的字符串列表,请将整个内容用引号括起来,并使用引号/逗号连接元素:

# 'chris','sandy','jones','amar','kuthrapalli'
"'" + %w[chris sandy jones amar kuthrapalli].join("','") + "'"

答案 1 :(得分:1)

$my_string = implode(",",$array);

在php中

答案 2 :(得分:1)

在红宝石中:

array.join(',')

在PHP中,使用其他人提到的implose。

在Python中:','。join(array)