2012-01-03 5 views
3

Как незнание типа реализовано в PHP? Например, я могу написать функцию:Как незнание типа внутренне реализовано в PHP

function min($n, $m){ 
    if ($n<$m) return $n; 
    return $m; 
} 

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

Я должен добавить, что меня очень интересует способ интерпретации PHP-интерпретатора. Спасибо за ответы, которые были предоставлены до сих пор.

+3

PHP не имеет указателей. Только «ссылки», которые похожи, но не так же, как указатели. PHP также выводит тишину и по требованию, уменьшая необходимость знать, что тип WHAT находится в большинстве случаев. «это просто (обычно) работает» –

+1

«тип незнания» lol: D – dynamic

ответ

0

По умолчанию, PHP передает переменные по значению, а не по ссылке. Можно перейти по ссылке, изменив function min($n,$m) на function min(&$n, &$m). Более подробную информацию о перейти по ссылке, проверьте this link on the PHP manual

Это также может быть полезно для вас: http://php.net/manual/en/language.variables.scope.php