[英]Make a lookup on an array literal in PHP
在數組上進行查找很簡單:
$array = array(0 => 'Zero', 1 => 'One', 2 => 'Two');
$text = $array[2]; // $text = 'Two'
但是,如果我不想要中間的$ array變量,是否有任何內置的方法來查找數組文字?
例子
$text = array(0 => 'Zero', 1 => 'One', 2 => 'Two')[2]; // Syntax error
$text = array_value(2, array(0 => 'Zero', 1 => 'One', 2 => 'Two')); // Unknown command
從PHP5.5開始,您可以執行以下操作:
$text = array(0 => 'Zero', 1 => 'One', 2 => 'Two')[2];
對於低於5.5的版本,由於沒有內置函數,因此您必須自己編寫類似於array_value()
函數。 像這樣:
function array_value($key, $array) {
if(!array_key_exists($key, $array)) {
throw new Exception('Array has no index ' . $key);
}
return $array[$key];
}
另一個解決方案:
$array = array(0 => 'Zero', 1 => 'One', 2 => 'Two');
$pos = 2;
echo current(array_slice($array, $pos, 1));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.