Объявление массива с использованием переменных и конструкции array () в PHP - PullRequest
0 голосов
/ 15 ноября 2009

Я уверен, что об этом уже спрашивали, но я не могу его найти. Документация PHP неясна по этому вопросу, и я не могу найти примеры, подобные этому. Допустимо ли использование переменных в объявлении массива с использованием конструкции array ()? Не как ключи, а как значения. Как это:

function myFunc($value1, $value2, $value3) {
    $myArr = array('value1' => $value1, 'value2' => $value2, 'value3' => $value3);
    return $myArr;
}

Это законно?

Ответы [ 3 ]

4 голосов
/ 15 ноября 2009

Да, это законно. В противном случае вы получите ошибку.

3 голосов
/ 15 ноября 2009

ключи и значения могут быть произвольными выражениями *

 $r = array(
     phpversion() => 1 + 2 - 3,
 );
  • за исключением того, что ключи не могут быть массивами / объектами / ресурсами
1 голос
/ 15 ноября 2009

Да, это абсолютно законно! Вы также можете использовать переменные для имен ключей:

$myArr = array($thekey => $theval);

Ключ или значение для любой пары ключ / значение не обязательно должны быть в каком-либо конкретном формате, их просто нужно преобразовать в примитивный тип (т.е. число или строка). Конструкция array() просто ищет «упрощенные» значения, которые она передала; не важно, кто они и как туда попали.

Надеюсь, это поможет!

...