簡體   English   中英

在PHP中對數組文字進行查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM