Размещено: 2023-12-18 03:47:46
Теги: php
ТЕСТ РЕАКЦИИ ФУНКЦИИ НА НЕДОСТАТОК ИЛИ ПЕРЕИЗБЫТОК ПЕРЕМЕННЫХ
Небольшой тест, что бы точно понимать, что происходит в случае недостатка переменной или переизбытка.
function test($a,$b,$c) { echo $a."===="."\n"; echo $b."===="."\n"; echo $c."===="."\n"; } $a='aaaa'; $b='bbbb'; $c='cccc'; $d='dddd'; test($a); echo "++++"."\n"; test($a,$b); echo "++++"."\n"; test($a,$b,$c); echo "++++"."\n"; test($a,$b,$c,$d); echo "++++"."\n";
В итоге выводит:
aaaa==== ==== ==== ++++ aaaa==== bbbb==== ==== ++++ aaaa==== bbbb==== cccc==== ++++ aaaa==== bbbb==== cccc==== ++++
Т.е. если каких-то переменных недостает, вместо них - просто будет пусто. Но функция работает и все нормально.
Если переменных наоборот больше чем задекларировано в функции, то все тоже работает и они (которых по порядку больше чем нужно) просто игнорируются.
При этом названия переменных в глобальной области видимости и названия переменных в функции естественно могут отличатся. Важен только порядок.
Как узнать название функции из самой функции?
Что бы узнать как называется сама функция есть константа: __FUNCTION__;
Список переменных внутри функции
get_defined_vars();
Список существующих функций
get_defined_functions() - Returns an array of all defined functions
Список существующих констант
get_defined_constants() - Returns an associative array with the names of all the constants and their values
На эту страницу чаще всего попадают по запросам: тест, эксперимент,