Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

8.3. Преобразование строк

Если строка оценивается как числовое значение, то результирующие значение и тип будут определяться следующим образом.

Строка оценивается как число двойной точности, если она содержит любой из символов «.», «e» или «E». В противном случае она будет оценена как целое число.

Далее значение определяется начальной частью строки. Если строка начинается с допустимых числовых данных, они будут использоваться в качестве значения.

В противном случае значение будет равно нулю. Допустимые числовые данные — это необязательный знак, за которым следует одна или несколько строк цифр (также может присутствовать десятичная а за ними экспонента.

Экспонента — это «e» или «E», за которой следуют одна или несколько цифр.

Если первое выражение является строкой, тип переменной зависит от второго выражения. Например:

$foo = 1 + "10.5"; // $foo имеет двойную точность (11.5)

Sfoo = 1 + "-1.3e3"; // Sfoo имеет двойную точность (-1299)

Sfоо = 1 + "bob-1.3e3"; // $foo - целое (1)

$foo = 1 + "bob3"; // $foo - целое (1)

$foo = 1 + "10 Small Pigs"; // $foo - целое (11)

$foo = 1 + "10 Little Pigges"; // $foo целое (11)

$foo = "10.0 pigs " + 1; // $foo - целое

$foo = "10.0 pigs " + 1.0; // $foo имеет двойную точность (11)

Данные примеры можно протестировать, дополнив их следующей строкой:

echo "\$foo==$foo тип . gettype ($foo) . "<br>\n";

<< Предыдущий параграф Следующий параграф >>
Оглавление