Размещено: 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


На эту страницу чаще всего попадают по запросам: тест, эксперимент,