$kon2=trim ($kon1); $a=substr($kon2,3,1); //выделяю символ if (empty($a)){.............} //проверяю выделенный символ на пробел Помогите мне проверить переменную на пробел.Так,как я наптсала,не получается,а на самом деле,в этом выделенном сиволе из переменной пробел.
может проблема в том, что автор не учитывает того факта, что нумерация символов в пхп-строке начинается не с 1, а с нуля? то есть третий символ в строке имеет индекс 2. покажи, что за строка.
PHP: <?php $kon2=trim ($kon1); $a=substr($kon2,3, 0); //выделяю символ if (empty($a)) { echo "здесь есть пробел"; } else { echo "здесь нет пробела"; } ?>
Его здесь в принципе быть не может, т.к. trim обрезала пробелы. Что если попробовать strpos? PHP: $string = 'abcd e'; if (strpos ($string, ' ') > 0) { echo "Ok"; } else { echo "No"; }
trim обрезает пробелы только с краёв строки до первого непробельного символа. Внутри строки (текста) она ничего не трогает. Не... $a = substr($kon2, 2, 1);
Рабочий код. Пока корректно PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); $kon1=" abba"; $kon2=trim($kon1); $a=substr($kon2,3, 0); //выделяю символ echo $kon2{0}; echo "<br>"; if($kon2{0}===" ") { echo "здесь есть пробел"; } else { echo "здесь нет пробела"; } echo "<br>"; echo $kon1{0}; if($kon1{0}===" ") { echo "здесь есть пробел"; } else { echo "здесь нет пробела"; } $string = 'abcdef'; echo "<br>"; echo $string{0}; echo "<br>"; // выводит a echo $string{3}; // выводит d ?>
PHP: $string = 'abcd e '; $string = trim ($string); if (substr ($string, 4, 1) != ' ') { echo 'Выделенный символ не является пробелом.'; } else { echo 'Выделенный символ - пробел.'; }
Вот с использованием substr PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); $kon1=" abba"; $kon2=trim($kon1); $a=substr($kon2,0, 1); //выделяю символ $b=substr($kon1,0, 1); //выделяю символ echo "$a<br>"; echo "$b<br>"; if($a===" ") { echo "здесь есть пробел"; } else { echo "здесь нет пробела"; } echo "<br>"; if($b===" ") { echo "здесь есть пробел"; } else { echo "здесь нет пробела"; } ?>