Показать сообщение отдельно
  #35 (permalink)  
Старый 24.02.2012, 00:45
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Некоторые мысли на эту тему:

К примеру array_keys(); имеет следующий прототип:
array array_keys ( array $input [, mixed $search_value [, bool $strict = false ]] )


Как мы видим array_keys() имеет тип array.

А вызывается он так array_keys(), а не так array.array_keys() вероятно потому что в заголовочном файле array прописано примерно такая строчка:
using namespace array;

Что создает видимость считать, что array_keys() это отдельная от объекта array функция.
А обращение к элементам массива типа $array[0], это ничто иное как перегруженный оператор [], который имеет реальный член класса типа array::get();

Если честно не понятно почему разработчики php так усердно скрывают реальные типы объектов.

Последний раз редактировалось monolithed, 24.02.2012 в 00:58.
Ответить с цитированием