Я соглашаюсь, что по определению Ваш regex не пропускает UUID. Однако может быть полезно отметить, что, если Вы ищете специально для Глобально уникальных идентификаторов Microsoft (GUID), существует пять эквивалентных строковых представлений для GUID:
"ca761232ed4211cebacd00aa0057b223"
"CA761232-ED42-11CE-BACD-00AA0057B223"
"{CA761232-ED42-11CE-BACD-00AA0057B223}"
"(CA761232-ED42-11CE-BACD-00AA0057B223)"
"{0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}"
Дальнейшее объяснение:
Хотя переменная может быть нулевой или не нулевой, можно также сказать, что переменная установлена или не установлена.
, чтобы присвоить переменной значение null, вы просто
$var = null;
Это сделает $ var
null , что эквивалентно false
, 0
и т. Д. на. Вы по-прежнему сможете получить переменную из $ GLOBALS ['var']
, поскольку она все еще определена / установлена. Однако, чтобы удалить переменную из глобального и / или локального пространства имен, вы используете
unset($var);
. Это сделает $ var
вообще не установленным. Вы не сможете найти в $ GLOBALS
.
Кроме того, вы можете установить для переменной значение null
:
<?php
$v= 'string';
var_dump(isset($v));
$v= null;
var_dump(isset($v));
?>
Как сказал накмартин, unset
"отменяет определение" переменной. Вы также можете установить для переменной значение null, однако эти два подхода различаются следующим образом:
$x = 3; $y = 4;
isset($x); // true;
isset($y); // true;
$x = null;
unset($y);
isset($x); // false
isset($y); // false
echo $x; // null
echo $y; // PHP Notice (y not defined)