如何操作php中的字符串?

时间:2011-11-01 21:56:06

标签: php string

我遇到这种情况:

 print_r($test);
 echo '<br>';
 $and = '';
 for ($i=0; $i<$count; $i++){
     $and.= ' u.room = '.$test[$i];
     $and.= ' OR ';
 }

结果将是:

Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 5 [4] => 6 ) 

u.room = 1 OR u.room = 3 OR u.room = 4 OR u.room = 5 OR u.room = 6 OR

我想要的是删除最后一个'OR',以便字符串变为:u.room = 1 OR u.room = 3 OR u.room = 4 OR u.room = 5 OR u.room = 6

任何想法?

由于

3 个答案:

答案 0 :(得分:1)

for ($i=0; $i<$count; $i++){
  $and.= ' u.room = '.$test[$i];

  if ($i != $count-1) {
    $and.= ' OR ';
  }
}

答案 1 :(得分:1)

使用另一个数组效果很好,使用implode生成最终字符串:

$clauses = array();
foreach($test as $t) {
   $clauses[] = "u.root = {t[$i]}";
}

$ands = implode(',', $clauses);

但是,对于你的情况,它是一个字段和多个值,你可以去另一个:

$in = implode(',', $test);

$sql = " ... WHERE u.room IN ($in)";

答案 2 :(得分:1)

更简单(如果$test为空,则尽管不完全相同):

$and = "u.room = " . implode(" OR u.room = ", $test);