2013-04-10 3 views
0

я получил фрагмент кода здесь раньше, и было интересно об этом синтаксисе, что я первоначально копировать-вставить:Цель постановки «массива» без круглых скобок?

function create(array &$data){ 
    #blah blah... 
} 

Какова цель array &$data в отличие от &$data сам по себе? Иными словами, что делает заявление array в этом контексте?

ответ

4

Это называется type hinting:

PHP 5 представляет тип намекая. Теперь функции могут принудительно устанавливать параметры (указывая имя класса в прототипе функции ), интерфейсы, массивы (начиная с PHP 5.1) или вызываемые (начиная с PHP 5.4). Однако, если NULL используется как значение по умолчанию , оно будет разрешено в качестве аргумента для любого последующего вызова.

Если класс или интерфейс заданы как подсказка типа, то все его дочерние элементы или реализации разрешены также.

Тип подсказки нельзя использовать со скалярными типами, такими как int или string. Нельзя использовать и черты.

Смежные вопросы