我有了這個文本最佳方式轉換與「和」文成變量
「?富=酒吧& FOOBAR = barfoo」
什麼是這個文本變量轉換的最佳方式?像這樣:
<?php
echo $q['foo']; //bar
echo $q['foobar']; //barfoo
?>
謝謝。
我有了這個文本最佳方式轉換與「和」文成變量
「?富=酒吧& FOOBAR = barfoo」
什麼是這個文本變量轉換的最佳方式?像這樣:
<?php
echo $q['foo']; //bar
echo $q['foobar']; //barfoo
?>
謝謝。
看到http://docs.php.net/parse_str和http://docs.php.net/parse_url
$s = "?foo=bar&foobar=barfoo";
parse_str(parse_url($s, PHP_URL_QUERY), $q);
var_dump($q);
打印
array(2) {
["foo"]=>
string(3) "bar"
["foobar"]=>
string(6) "barfoo"
}
編輯:如果您知道該字符串始終具有形式? x = y ...您可能想要跳過parse_url()並使用substr()來代替。
edit2:請記住,parse_str()的行爲取決於值arg_separator.input。你應該把它(無論什麼原因)設置爲'!' parse_string()將爲您的輸入字符串返回NULL。 例如
ini_set('arg_separator.input', '!');
$s = "foo=bar&foobar=barfoo";
var_dump(parse_str($s));
打印NULL
。但是......這將是一個相當奇怪的設置。
嗯,這是一個網址,所以如果你從網址源獲得它們,它們應該自動在$ _GET ['foo']和$ _GET ['bar']中,但如果它只是一個文本字符串,你可以這樣做:
$string = "?foo=bar&foobar=barfoo";
$string = str_replace('?', '', $string);
$params = explode('&', $string);
foreach($params as $key=>$value)
{
$data = explode('=', $value);
$_GET[$data[0]] = $data[1];
}
而你所有的變量都在$ _GET數組中。