$Q = explode("/", $_SERVER["QUERY_STRING"]);
可能な$Q
の値は何ですか?
たとえば、ブラウザに次のような URL があるとします。
relation.php?variable1/variable2/variable3
の後に値を取得する必要があり、?
その後$_SERVER['QUERY_STRING']
の文字列の部分を特定するのに役立ちます?
そしてあなたの質問によると
$Q = explode("/", $_SERVER["QUERY_STRING"]);
変数$Q
は次のような値を持つ配列です
Array
(
[0] => variable1
[1] => variable2
[2] => variable3
)
Explode : 文字列の配列を返します。各文字列は、文字列区切り文字によって形成された境界で分割することによって形成された文字列の部分文字列です。
配列の爆発 (string $delimiter , string $string [, int $limit ] )
このコードを実行して理解してください:
/* A string that doesn't contain the delimiter will simply return a one-length array of the original string. */
$input1 = "hello";
$input2 = "hello,there";
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
上記の例では、次のように出力されます。
array(1)
(
[0] => string(5) "hello"
)
array(2)
(
[0] => string(5) "hello"
[1] => string(5) "there"
)
そして、あなたの場合、現在のクエリ文字列は配列に分割されます。そして、各 / は配列項目になります。
爆発する場合のように( '/', 'foo/bar')
配列には、Foo と Bar が個別のインデックスに含まれます。
詳細 : Explode : PHP.NET からの詳細の展開 $_SERVER : PHP.NET からの $_Server の詳細
ページがクエリ文字列を介してアクセスされる場合、$_SERVER['QUERY_STRING'] はそのクエリ文字列をフェッチします。
例 :
<?php
echo "The query string is: ".$_SERVER['QUERY_STRING'];
?>
上記の php コードが QUERY_STRING.php のファイル名で保存され、「?tutorial=php§ion=super-globals」を追加すると(i.e. QUERY_STRING.php?tutorial=php§ion=super-globals);
、スクリプトに $SERVER['QUERY_STRING' を出力するように要求したため、この文字列がページに出力されます。 ]。
詳細については、次を参照してください。