php анонимная функция с возможностью немедленного выполнения

Аналог анонимной функции JavaScript с немедленным исполнением
(function () { /* do something */ })()

модель рабочего примера, найти первое вхождение, частичное или полное

#php 5.3
$ttttar212 = ['asf',['asd','qwer2'],'qwe'];
$inttttar = 0;
call_user_func(function($cont_act, $ttttar212) use (&$inttttar) {
	foreach ($ttttar212 as $v) {
		if ($cont_act[0] === $v || $cont_act === $v) {
			$inttttar++;
			break;
		}
	}
}, ['qwe','qwer'], $ttttar212);

в действии

// если совпадает с внутренними (с виртуальными) то тоже подсветим
if ($data->active == 0 && isset($data->virtual) && is_array($data->virtual)) {
	call_user_func(function($cont_act, $ttttar) use (&$data) {
		foreach ($ttttar as $v) {
			if ($cont_act[0] === $v || $cont_act === $v) {
				$data->active++;
				break;
			}
		}
	}, [$controllerName, $actionName], $data->virtual);
//	$data->active += (int)in_array($controllerName, $data->virtual);
//	$data->active += (int)in_array([$controllerName,$actionName], $data->virtual);
}

Добавить столбец с not null в таблицу с даными

При попытке:
alter table m_listDocs add contractId int not null

Инструкция ALTER TABLE допускает добавление только тех столбцов, которые могут содержать значения NULL, имеют указанное определение DEFAULT, являются столбцами идентификаторов или временной метки; если ни одно из вышеперечисленных условий не выполнено, для добавления такого столбца таблица должна быть пустой. Не удалось добавить столбец «contractId» в непустую таблицу «m_listDocs», так как она не соответствует этим условиям.

Обходим:
alter table m_listDocs add contractId int
update m_listDocs set contractId = 0
alter table m_listDocs alter column contractId int not null

jQuery Ajax и FormData objects

Если получили ошибку:
jquery.min.js:4 Uncaught TypeError: Illegal invocation

или:
PHP Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0

проставим значения параметров для аякса:
processData: false,
contentType: false,