JonyFront
Добрый день, есть переменная с данными:
PHP:
$option = «m:9;10012:540103551;10019:1983992534»;или
PHP:
$option = «10012:540103551;10019:1983992534»;или
PHP:
$option = «10012:540103551»;Мне нужно получить цифры после 10012:, но до символа «;» если он есть, то бишь какие бы данные не были по порядку, если есть в ней 10012:, то мне нужно получить только 540103551, как можно это реализовать?
Пробовал делать подобную проверку:PHP:PHP:
$param = get_string_between($option, ‘10012:’, ‘;’); } else { }, но это работает только если строка такого вида $option = «10012:540103551»; или «10012:540103551;10019:1983992534» подскажите пожалуйста
Drunkenmunky
Разбейте строку в массив по разделителю «;»
Полученный массив в цикле разбивайте по «:»
Если элемент 0 равен 10012, то вводите значение элемента 1 в переменную и выходите из цикла.
Кстати, эту переменную заранее нужно установить в дефолтное значение
MouseZver
PHP:
<?php $option = «m:9;10012:540103551;10019:1983992534»; $closure = function ( string $string ): Iterator { { yield $key => $value; } }; PHP:
( [m] => 9 [10012] => 540103551 [10019] => 1983992534 )
JonyFront
круто, спасибо большое!
roboformation
@JonyFront почитайте
https://www.php.net/manual/ru/book.pcre
Дюран
PHP:
$option = «m:9;10012:540103551;10019:1983992534»; $matches = []; if ($res) { print $matches[1]; }