Что вообще такое "перегрузка функций" по своей сути? Это когда средствами языка определяется, что в зависимости от типа параметров вызывается определенная функция.
Вопрос: возможно ли это сделать в ПХП? Давай думать. Можешь ли ты в принимающей функции четко и однозначно определить, какого типа параметры переданы? Если можешь, то и сам язык сможет это сделать. А если не сможешь, то и автоматически это будет невозможно.
Учитывая отсутствие четкой типизации в ПХП, я думаю, что полноценную перегрузку функций сделать нельзя.
Кстати. В С++, по крайней мере в его версии от Борланда, с коей я работал, насчет перегрузки функций было сказано очень однозначно. Фактически, каждая функция имеет внутреннее имя, зависящее от данного ей имени и типа параметров. Например, объявили int getData(char *), а внутри эта функция будет иметь имя getData__c (точный формат не помню, но суть точно помню). Если же её перегрузили и создали int getData(int), то её внутреннее имя будет getData__i. То есть, это будут все-таки разные функции.
PS. Написал ты в ПХП doSomething($val), но точная величина и тип переменной будут известны только во время исполнения, а не во время интерпретации. А в Си всё происходит во время компиляции, причем типы переменных однозначно известны.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)