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 放在数组的所有部分前面:

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

计算第一块然后附加到所有其他部分的正确方法是什么?

4

5 回答 5

5

尝试这个:

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

或在一个班轮中:

echo implode(" OR ", explode(",", $l));
于 2013-05-28T19:04:50.380 回答
4

使用 str_replace:

$string = 'oranges,apples,pineapple';

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

// Outputs: oranges OR apples OR pineapple
于 2013-05-28T19:05:22.400 回答
1

一线技能

$array = implode (' OR ', explode (',', $array));
于 2013-05-28T19:10:20.377 回答
1

你可以试试这个:)

echo preg_replace('/,/', " OR ", "apple,orange,tomato,banana,carrot,celery");
于 2013-05-28T19:14:09.603 回答
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 ';
}
于 2013-05-28T19:21:31.083 回答