Вы можете определить локальную функцию в PHP, но вы можете объявить ее только один раз. Это может быть достигнуто путем определения и сравнения статической переменной.
Проверьте следующий пример:
<?php
function a()
{
static $init = true;
if ($init) {
function b() { }
$init = FALSE;
}
}
a();
a();
В качестве альтернативы, проверяя, существует ли уже функция:
<?php
function a()
{
if (!function_exists('b')) {
function b() { }
}
}
a();
a();