[英]php syntax, arrays and errors
為什么下面的代碼在php中給我一個錯誤?:
$b = array("1" => "2")["1"];
我得到的錯誤是Parse錯誤...
救命。
不幸的是,在PHP中,您需要這樣做:
$a = array("1" => "2");
$b = $a["1"];
感覺就像你的例子應該有效,因為它在其他語言中有用。 但這只是PHP的方式。
幾件事。 您無法在創建過程中立即從數組中提取數據,並且數值的鍵會自動轉換為整數,即使它們是字符串也是如此。
您可以使用函數為您執行此操作:
function Get($array, $key, $default = false)
{
if (is_array($array) === true)
{
settype($key, 'array');
foreach ($key as $value)
{
if (array_key_exists($value, $array) === false)
{
return $default;
}
$array = $array[$value];
}
return $array;
}
return $default;
}
並像這樣使用它:
$b = Get(array("1" => "2"), "1"); // 2
如果您不需要訪問多維數組,也可以使用這個較短的函數:
function Get($array, $key, $default = false)
{
if (is_array($array) === true)
{
return (array_key_exists($value, $array) === true) ? $array[$value] : $default;
}
return $default;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.