echo explode('@',$var); //but only echoing element 1 or 2 of the array?
相反的:
$variable = explode('@',$var);
echo $variable[0];
謝謝。
echo explode('@',$var); //but only echoing element 1 or 2 of the array?
相反的:
$variable = explode('@',$var);
echo $variable[0];
謝謝。
自PHP 5.4,你可以寫:
echo explode('@', $var)[0];
在之前版本的PHP只能實現詭計的行爲:
echo current(explode('@', $var)); // get [0]
echo next(explode('@', $var)); // get [1]
如果沒有臨時變體,則無法在任意位置追加元素能夠。
下面是一個簡單的功能,可以整理你的代碼,如果你不希望使用一個變量每次:
function GetAt($arr, $key = 0)
{
return $arr[$key];
}
調用,比如:
echo GetAt(explode('@', $var)); // get [0]
echo GetAt(explode('@', $var), 1); // get [1]
在PHP版本可以使用以下語法:
echo explode('@', $var)[0];
如果沒有,你可以使用list()
:
list($foo) = explode('@', $var);
上面的語句將在變量$foo
分配爆炸數組的第一個值。
上到PHP 5.4,你可以這樣做:
echo array_shift(explode('@', $var));
這將呼應爆炸創建數組的第一個元素。但它沒有錯誤檢查爆炸的輸出,這是不理想的。
list
可以像這樣使用,以及:
list($first) = explode('@', $var);
list(,$second) = explode('@', $var);
list(,,$third) = explode('@', $var);
的downvoter能解釋一下自己? –
爆炸將字符串轉換爲數組。如何訪問數組元素,而它是一個字符串? –
我確實試圖解決這個問題,但無濟於事。我有大約6個月的PHP使用經驗,而且我沒有看到如何解決這個問題。 – OBV