<a href="http://www.google.com/search?q='.urlencode(current(explode('(', $ask_key))).'" target="_blank">
我不明白urlencode(current(explode('(', $ask_key)))
做什麼。
任何人都可以解釋我的代碼做什麼?這段代碼做了什麼?
<a href="http://www.google.com/search?q='.urlencode(current(explode('(', $ask_key))).'" target="_blank">
我不明白urlencode(current(explode('(', $ask_key)))
做什麼。
任何人都可以解釋我的代碼做什麼?這段代碼做了什麼?
$array
爲string,它必須包含幾個值,用(
分隔。
explode()
會將此字符串拆分爲array,並使用(
作爲分隔符。
current()
將獲取數組的當前元素 - 第一個。
最後,urlencode()
將對特殊字符進行編碼,以便它們可以在URL中使用。
因此,基本上:
these(are(elements
urlencode
功能,因此它可以在URL中使用。
作爲一個例子,這裏是相同種類的代碼,分割成幾個不同的操作,使用一個變量來存儲每個函數的結果 - 所以我們可以轉儲這些結果:
$string = "[email protected]?i&s(a couple(of elements";
var_dump($string);
$array = explode('(', $string);
var_dump($array);
$first_item = current($array);
var_dump($first_item);
$encoded = urlencode($first_item);
var_dump($encoded);
四個var_dump()
會給這個輸出:
string '[email protected]?i&s(a couple(of elements' (length=30)
array
0 => string '[email protected]?i&s' (length=9)
1 => string 'a couple' (length=8)
2 => string 'of elements' (length=11)
string '[email protected]?i&s' (length=9)
string 'th%40is%3Fi%26s' (length=15)
這都說明在細節你的表情的每一個部分呢。
$ask_key = 'as das df(sdfkj as(asf a152451(sdfa df1 9'; //you key
echo $ask_key."<br/>";
$array = explode('(', $ask_key); //explode will split the array on '('
echo "<pre>";
print_r($array);
echo "</pre>";
$curr = current($array); //current will return the curr element of array
echo $curr."<br/>";
$enc = urlencode($curr); //url will encode url i.e. valid url
echo $enc;
結果::
as das df(sdfkj as(asf a152451(sdfa df1 9
Array
(
[0] => as das df
[1] => sdfkj as
[2] => asf a152451
[3] => sdfa df1 9
)
as das df
as+das++df
很好的例子。謝謝。 – enjoylife 2011-03-18 05:45:57
當然歡迎你 – 2011-03-18 05:53:01
粗獷再次勝過簡潔:) – webbiedave 2011-03-18 06:55:59