[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Есть ли дефис в строке.
Oggy
Здравствуйте.
Есть строка:"9001-9100".
Мне нужно проверить есть ли дефис в строке и если есть взять первое число до дефиса(то что слева) и взять второе число после дефиса(то что справа).
Пожалуйста помогите.
Дефис пробую опредилить так:

strpos("9001-9100, '-');
killer8080
if (preg_match('#(\d+)-(\d+)#', $str, $match)) {
$num1 = $match[1];
$num2 = $match[2];
}
arbuzmaster
Можно ещё так например

$str=str_replace(" ", "", $str);// если есть пробелы в строке
$match = explode("-",$str);
$num1 = $match[0];
$num2 = $match[1];


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
sergeiss
Цитата (arbuzmaster @ 23.05.2015 - 23:17)
Можно ещё так например

Не успел написать про explode, опередил smile.gif

Там еще добавить проверку количества элементов и будет совсем полное соответствие озвученной задаче.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
T1grOK
Цитата (sergeiss @ 23.05.2015 - 19:26)
Не успел написать про explode, опередил

Зато можно list приплести :)

list($num1, $num2) = explode("-",$str);


_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
volter9
T1grOK
Если не будет дефиса php выдаст варнинг, так что лучше все таки сделать проверку:
$numbers = explode('-', $text);

if (count($numbers) === 2) {
$first = current($numbers);
$last = end($numbers);

// или как выше тигрок предложил
// list($first, $last) = $numbers;

}

P.S.: похоже формуный парсер съедает форматирование в коде

_____________
Мой блог
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.