За последние 24 часа нас посетили 26514 программистов и 1647 роботов. Сейчас ищут 1235 программистов ...

Проверка выделенного символа на пробел

Тема в разделе "PHP для новичков", создана пользователем moroz, 13 дек 2010.

  1. moroz

    moroz Активный пользователь

    С нами с:
    13 дек 2010
    Сообщения:
    33
    Симпатии:
    0
    $kon2=trim ($kon1);
    $a=substr($kon2,3,1); //выделяю символ
    if (empty($a)){.............} //проверяю выделенный символ на пробел
    Помогите мне проверить переменную на пробел.Так,как я наптсала,не получается,а на самом деле,в этом выделенном сиволе из переменной пробел.
     
  2. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    попробуй
    if ($kon2[3]==' ') {......}
     
  3. moroz

    moroz Активный пользователь

    С нами с:
    13 дек 2010
    Сообщения:
    33
    Симпатии:
    0
    безрезультатно.
     
  4. kotyara

    kotyara Активный пользователь

    С нами с:
    17 фев 2010
    Сообщения:
    163
    Симпатии:
    0
    ord() должен помочь
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Вместо
    $a=substr($kon2,3,1);
    можешь написать
    $a=trim(substr($kon2,3,1));
    :)
     
  6. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    может проблема в том, что автор не учитывает того факта, что нумерация символов в пхп-строке начинается не с 1, а с нуля? то есть третий символ в строке имеет индекс 2.
    покажи, что за строка.
     
  7. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    PHP:
    1. <?php
    2. $kon2=trim ($kon1);
    3. $a=substr($kon2,3, 0); //выделяю символ
    4. if (empty($a))
    5.  
    6.  
    7. {
    8. echo "здесь есть пробел";
    9.  
    10. }
    11.  
    12. else
    13.  
    14. {
    15. echo "здесь нет пробела";
    16.  
    17. }
    18.  
    19. ?>
     
  8. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Его здесь в принципе быть не может, т.к. trim обрезала пробелы. Что если попробовать strpos?

    PHP:
    1. $string = 'abcd e';
    2. if (strpos ($string, ' ') > 0) {
    3.     echo "Ok";
    4. } else {
    5.     echo "No";
    6. }
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    trim обрезает пробелы только с краёв строки до первого непробельного символа. Внутри строки (текста) она ничего не трогает.
    Не...
    $a = substr($kon2, 2, 1);
     
  10. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Рабочий код. Пока корректно

    PHP:
    1. <?php
    2. ini_set('display_errors',1);
    3. $kon1=" abba";
    4.  $kon2=trim($kon1);
    5.  $a=substr($kon2,3, 0); //выделяю символ
    6.  echo $kon2{0};
    7.  echo "<br>";
    8.  if($kon2{0}===" ")
    9.  
    10.  
    11.  {
    12.  echo "здесь есть пробел";
    13.  
    14.  }
    15.  
    16.  else
    17.  
    18.  {
    19.  echo "здесь нет пробела";
    20.  
    21.  }
    22.  
    23.  echo "<br>";
    24.  
    25.  echo $kon1{0};
    26.  if($kon1{0}===" ")
    27.  
    28.  
    29.  {
    30.  echo "здесь есть пробел";
    31.  
    32.  }
    33.  
    34.  else
    35.  
    36.  {
    37.  echo "здесь нет пробела";
    38.  
    39.  }
    40.  
    41.  $string = 'abcdef';
    42.  
    43. echo "<br>";
    44. echo $string{0};
    45. echo "<br>";                // выводит a
    46. echo $string{3};                // выводит d
    47.  
    48.  ?>
     
  11. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    не совсем понял, а почему последний параметр 0?
     
  12. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
     
  13. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Мой косяк ))
     
  14. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    PHP:
    1. $string = 'abcd e ';
    2. $string = trim ($string);
    3. if (substr ($string, 4, 1) != ' ') {
    4.     echo 'Выделенный символ не является пробелом.';
    5. } else {
    6.     echo 'Выделенный символ - пробел.';
    7. }
     
  15. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Вот с использованием substr

    PHP:
    1. <?php
    2. ini_set('display_errors',1);
    3. $kon1=" abba";
    4.  $kon2=trim($kon1);
    5.  $a=substr($kon2,0, 1); //выделяю символ
    6.  $b=substr($kon1,0, 1); //выделяю символ
    7.  echo "$a<br>";
    8.  echo "$b<br>";
    9.  
    10.  if($a===" ")
    11.  
    12.  
    13.  {
    14.  echo "здесь есть пробел";
    15.  
    16.  }
    17.  
    18.  else
    19.  
    20.  {
    21.  echo "здесь нет пробела";
    22.  
    23.  }
    24.  
    25.  echo "<br>";
    26.  
    27.  
    28.  if($b===" ")
    29.  
    30.  {
    31.  echo "здесь есть пробел";
    32.  
    33.  }
    34.  
    35.  else
    36.  
    37.  {
    38.  echo "здесь нет пробела";
    39.  
    40.  }
    41.  
    42.  
    43.  ?>
     
  16. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Dima4321, компактней писать можно? :) У меня код почти на весь экран вышел :)
     
  17. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Ну дык шшшооб читабельно ))
     
  18. VItalijs

    VItalijs Активный пользователь

    С нами с:
    17 дек 2008
    Сообщения:
    244
    Симпатии:
    0
    Адрес:
    Рига, Латвия
    со всеми этими пустыми строками, как-то не шибко читабельно.