Я на этом форуме первый день, но меня как-то смущают подобные топики от людей, которые здесь уже полгода и отпостили почти полтыщи постов. Эмм, про синтаксис оформления функций и зарезервированные слова обычно узнают в первые дни изучения языка.
Кратко.
Если функция не получает никаких параметров и результат возвращает не по ссылке, то в скобках ничего писать не надо.
Если функция должна получать параметры, то они пишутся в скобках в строгом порядке.
Если функция имеет необязательные параметры, то они пишутся после обязательных (если их нет, то сразу) с указание значения по дефолту:
PHP |
//правильно function foo1($var1,$var2,$var3='any',$var4=5){} function foo2($var3='any',$var4=5){} //Неправильно function foo3($var3='any',$var4=5,$var1,$var2){} function foo3($var1,$var3='any',$var4=5,$var2){} |
Если функция принимает множество параметров, часть из которых обязательная, а часть нет, то можно использовать подобный велосипед:
PHP |
function foo($input) { $default=array( 'var1'=>'any', 'var2'=>5, 'var4'=>array(1,2,3,4,5) ); foreach($default as $k=>$v)if(!isset($input[$k]))$input[$k]=$v; /*что-то далее*/ } |
В этом случае можно передавать произвольные параметры в произвольном порядке в массиве и обрабатывать не переданные самостоятельно.