Несколько раз сталкивался с необъяснимыми ошибками интерпретатора (задача про 5 плюсов и т.п.), так что грешу сейчас или на него, или на себя) Рассудите нас, пожалуйста)
Код:
<?php
$str="5034312236";
if (!preg_match("/^[0-9]+$/", $str) or !strlen($str)==9)
echo "+";
else echo "-";
?>
Что должно вывести - плюс или минус? И что выводит?
Проблема:
Читаю: !preg_match не выполняется (тут только цифры), но !strlen выполняется (10 символов). Значит, if выполняется (хотя бы одно условие), т.е. выводим Плюс. У меня выводит минус((
Я что-то не так делаю/читаю или интерпретатор тупит?
Заранее спасибо.
|