は、私がURL文字列の形式に$ _GETの配列を変換し、PHPの関数を作ってるんだと置き換えPHPは自動的にエコー「&」..「&」が
例えばArray('key1'=>'value1', 'key2'=>'value2')
は次のように変換されます。?key1=value1&key2=value2
正しく機能していると思います。しかし、結果をエコーすると、HTMLページで "&
"のすべてのインスタンスが "&
"に置き換えられます。したがって、ブラウザの変換は?key1=value1&key2=value2
になります。
/**
*
* @param Array $GETArray Pass in the associative $_GET array here.
* @return string The $GETArray converted into ?key=value&key2=value2&... form.
*/
function strGET($GETArray) {
if (sizeof($GETArray) < 1) {
return '';
}
$firstkey = key($GETArray);
$firstvalue = $GETArray[$firstkey];
$sofar = "?$firstkey=$firstvalue";
array_shift($GETArray);
foreach ($GETArray as $key => $value) {
$sofar .= '&'."$key=$value";
}
return $sofar;
}
私は見る機能が必要だと思います。基本的に明示的に指示されない限り、PHPはテキストを自動的にフォーマットするべきではありません。 – casraf
ありがとう、私は質問に自分の関数のコードを追加しました。 – meltuhamy
アンパサンドは、マークアップで「&」にする必要があります。それを変えるのは間違いでしょう。 – Gordon