有没有办法获取返回数组的索引而不为它创建变量?

时间:2015-07-02 18:16:58

标签: php arrays

我有一个函数返回一个默认值类型数组,如下所示:

//////////////////////////////////////
// FUNCTION - CUSTOM FIELD TYPES
function customFieldTypes(){

  $types[1] = 'Textbox';
  $types[2] = 'Dropdown';
  $types[3] = 'Checkbox';
  $types[4] = 'Radio Button';


  // RETURN
  return $types;

} // END FUNCTION

我知道你可以循环遍历每个,而不必创建一个数组来保存像:

这样的值
foreach(customFieldTypes() as $type){

  // DISPLAY
  echo $type.' ';
}

会显示Textbox Dropdown Checkbox Radio Button

我的问题是。有没有办法进入该阵列而不去

$arrayResult = customFieldTypes();
echo $arrayResult[2];

我这样做的唯一想法就是:

echo customFieldTypes()[2];

但是它给了我一个错误的说法意外' [',期待','或';'

无论如何要做到这一点?我意识到这是一条捷径,但我只是想知道

1 个答案:

答案 0 :(得分:0)

从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组取消引用。之前只能使用临时变量。

从PHP 5.5开始,可以对数组取消引用数组文字。

示例数组解除引用

<?php
function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

// previously
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();
?>

刚刚从here

复制