Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
8.6. Изменение типа
РНР не требует явного определения типа при объявлении переменной, тип переменной определяется по контексту, в котором она используется. Например, если присвоите строковое значение переменной $var, $var станет строкой. А если затем присвоить переменной $var целое значение, то она станет целым.
Примером автоматического преобразования типа в РНР может служить оператор сложения «+». Если какой-либо из операндов является числом с дробной частью (тип double), то затем все операнды оцениваются, как double, и результат будет иметь тип double. Если эти операнды будут интерпретированы как целые (integers), то и результат будет также иметь тип integer. Отметим, что при этом не меняются типы самих операндов, меняется только оценка этих операндов. Например:
$foo = "0"; // $foo является строкой (в таблице символов ASCII — 48)$foo++; // $foo является строкой "1" (в таблице символов ASCII — 49)
$foo += 1; // $foo сейчас является целым (2)
$foo = $foo + 1.3; // $foo сейчас имеет тип double (3.3)
$foo = 5 + "10 Little Piggies"; // $foo является целым (15)
$foo = 5 + "10 Small Pigs"; // $foo является целым (15)
СОВЕТ
Если последние два примера, приведенные выше, кажутся вам не совсем ясными, перечитайте еще раз раздел «Преобразование строк» (см. п. 8.3).