nigirma
Новичок
Заметил 2е непонятные для меня штуковины при программировании
1)
Результат: Строка 'teeexxxt' равна нулю
ПОЧЕМУ она равна нулю??? Ведь ноль в строковой переменной близко не стоял.
2)
Результат: Строка '3teeexxxt' присутствует в массиве с числовыми значениями
ПОЧЕМУ???
Во втором случае я могу догадаться судя по описанию
Если же выполить код
То результат будет предсказуемым: Строка 'teeexxxt' НЕ присутствует в массиве с числовыми значениями
1)
PHP:
$text = 'teeexxxt';
echo "Строка '$text' " . (($text == 0) ? '' : 'НЕ ') . 'равна нулю<br>';
ПОЧЕМУ она равна нулю??? Ведь ноль в строковой переменной близко не стоял.
2)
PHP:
$text = '3teeexxxt';
$array = array(1, 2, 3);
echo "Строка '$text' " . ((in_array($text, $array)) ? '' : 'НЕ ') . 'присутствует в массиве с числовыми значениями';
ПОЧЕМУ???
Во втором случае я могу догадаться судя по описанию
что тут не строгое соответствие... НО, обычно имеется ввиду несоответствие типов, а тут совсем другое значение!bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Ищет в haystack значение needle. Если strict не установлен, то при поиске будет использовано нестрогое сравнение.
Если же выполить код
PHP:
$text = 'teeexxxt';
$array = array(1, 2, 3);
echo "Строка '$text' " . ((in_array($text, $array)) ? '' : 'НЕ ') . 'присутствует в массиве с числовыми значениями';