-3

クエリ文字列内の特定の単語を置き換えようとしています。このコードは 1 行を使用した場合にのみ機能しますが、2 行以上を使用しようとすると foreach ループで問題が発生します。すべての置換操作を 1 行にまとめることができますか?

$query = str_replace('','+',$query); // Replaces white space with +
$query = str_replace('and','&',$query); // Replaces and with &
$query = str_replace('not','-',$query); // Replaces not with -
$query = str_replace('or','|',$query);  // Replaces or with |

ここに私のforeachループがあります

foreach($jsonObj->d->results as $value)
    {   $i = 0;
        $bingArray[str_replace ($find, '', ($value->{'Url'}))] = array(         
    'title'=> $value->{'Title'},
    'score' => $score--
     );

foreach ループに str_replace があります。ここでエラーが発生します。

4

3 に答える 3

2

検索の配列を作成し、単語/文字を置き換えて に渡しますstr_replace

$search = array('','and','not','or');
$replace= array('+','&','-','|');
$query = str_replace($search,$replace,$query);
于 2013-07-22T15:30:13.880 に答える
0

はい、str_replaceこれを行うために使用できます:

$a1= array("", "and", "not", "or");
$a2= array("+", "&", "-", "|");


$result= str_replace($a1, $a2, $query);
于 2013-07-22T15:31:22.300 に答える