Обработка этой конкретной строковой манипуляции в PHP и Ruby - PullRequest
0 голосов
/ 01 марта 2011

Я пишу много метапрограмм.Скрипты на Ruby и PHP, которые генерируют различные другие языки программирования и структуры.Пример скажем сценарий, который читает из CSV и генерирует запросы SQL.

Вот проблема, с которой я сталкивался много раз, и меня всегда раздражает то, как я ее решаю.

У меня есть массив скажет

array= %w[chris sandy jones amar kuthrapalli]

Мне нужно преобразовать этот массив в строку, которая выглядит как

chris,sandy,jones,amar,kuthrapalli

Теперь его просто перебрать и добавить каждое имяв строку.Но я не хочу писать специальное условие, чтобы не ставить эту «лишнюю запятую», которая пойдет туда другим образом.

Красота цикла «foreach» заключается в том, что нам больше не нужно беспокоиться об индексах, нотогда я вынужден использовать итератор с индексами.(для i = 0 ... бла-бла-бла)

Может быть, это единственный способ решить эту проблему, но есть ли лучший способ?

Это простая проблема, но проблема такого рода проявляется многими способами в моей работе.

Ответы [ 3 ]

1 голос
/ 01 марта 2011
$my_string = implode(",",$array);

в php

1 голос
/ 01 марта 2011

В рубине:

array.join(',')

В PHP используйте implose, как уже упоминали другие.

В Python: ','. Join (массив)

1 голос
/ 01 марта 2011

Вот для чего 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("','") + "'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...