我写了很多元程序。 Ruby和PHP中的脚本,可生成不同的其他编程语言和结构。示例说一个从CSV读取并生成SQL查询的脚本。
这是我遇到的一个问题很多次,我总是对我解决它的方式感到恼火。
我有一个数组说
array= %w[chris sandy jones amar kuthrapalli]
我需要将此数组转换为类似于
的字符串chris,sandy,jones,amar,kuthrapalli
现在很容易迭代并将每个名称添加到字符串中。但是我讨厌写一个特殊的条件,就是不要把那个“最后一个额外的逗号”放到那里去。
“foreach”谎言循环的美妙之处在于我们不再需要为索引而烦恼,但后来我被迫使用带索引的迭代器。 (因为我= 0 ......等等等等)
可能这是解决这个问题的唯一方法但有更好的方法吗?
这是一个简单的问题,但这种问题本身在我的工作中有许多不同的方式。
答案 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)