2013-05-28 2 views
0

Что у меня есть этот массив:взрываются данные после первой части с Еогеаспом

$l = "apple,orange,tomato,banana,carrot,celery"; 

Что я пытаюсь сделать что-то вдоль этих линий:

apple OR orange OR tomato OR banana OR carrot OR celery 

Я получил это далеко:

$l = explode(",", $l); 
if (count($l) > 1){ 
    foreach ($l as $s){ 
     echo " OR " . $s; 
    } 
} 

делая это таким образом ставит или перед всеми частями массива:

OR apple OR orange OR tomato OR banana OR carrot OR celery 

Каким будет правильный способ подсчета первой части, а затем добавить все дополнительные части?

+1

Попробуйте 'взрываться()', чтобы склеить массив вместе. – andrewsi

+1

Нужно по-настоящему попытаться научиться пользоваться [PHP manual] (http://uk.php.net/), вы даже можете [загрузить офлайн] (http://uk.php.net/download-docs .php). – HamZa

+0

«посчитать первый кусок» - подсчитать что? – user544262772

ответ

5

попробовать это:

$array = explode(",", $l); 
echo implode(" OR ", $array); 

Или в один лайнер:

echo implode(" OR ", explode(",", $l)); 
+0

также, 'trim ($ string, ',')' не повредит. Может быть, немного сумасшедший, '$ string = preg_replace ('/, {2,}/ix', ',', $ string);' - просто для удовольствия :) – Twisted1919

+0

Вау, это просто. Благодарю. – stepquick

+0

Не забудьте отметить ответ, который подходит вам как «разрешенный» – periklis

4

Использование str_replace:

$string = 'oranges,apples,pineapple'; 

echo str_replace(',', ' OR ', $string); 

// Outputs: oranges OR apples OR pineapple 
1

Вы можете попробовать с этим :)

echo preg_replace('/,/', " OR ", "apple,orange,tomato,banana,carrot,celery"); 
+0

Появляется левый '.' ... – HamZa

+0

вы уверены ... – sAnS

+0

Почему вы используете' [.,] 'Вместо', '? – HamZa

0

или в случае, если вы хотите, чтобы обработать информацию:

$pieces = explode (',', $array); 

$result = ''; 
$i = 0; 
foreach ($pieces as $p) { 
    $i++; 

    if ($p === 'banana') // in case you hate banana 
     continue; 

    $result .= $p; 

    if ($i != count($pieces)) 
     $result .= ' OR '; 
} 
Смежные вопросы