получить номер перед «подчеркиванием» с помощью php

У меня есть это:

15_some_text_or_numbers; 

Я хочу получить что-то перед первым подчеркиванием. Всегда есть буква сразу после первого подчеркивания.

пример:

  14_hello_world = 14 

Результат – номер 14!

благодаря

Если впереди всегда есть номер, вы можете использовать

 echo (int) '14_hello_world'; 

См. Запись о преобразовании строк в целые числа в руководстве по PHP

Вот версия без typecasting:

 $str = '14_hello_1world_12'; echo substr($str, 0, strpos($str, '_')); 

Обратите внимание, что это не вернет ничего, если знак подчеркивания не найден. Если найдено, возвращаемое значение будет строкой, тогда как результат с приводом будет целочисленным (не так уж и важно). Если вы хотите, чтобы вся строка была возвращена, когда подчеркивание не существует, вы можете использовать

 $str = '14_hello_1world_12'; echo str_replace(strstr($str, '_'), '', $str); 

Начиная с PHP5.3 вы также можете использовать strstr с $before_needle установленным в true

 echo strstr('14_hello_1world_12', '_', true); 

Примечание. Поскольку typecasting от string до integer в PHP следует четко определенному и предсказуемому поведению, и это поведение следует правилам собственного strtod Unix для смешанных строк, я не вижу, как первый подход злоупотребляет приведением типов.

 preg_match('/^(\d+)/', $yourString, $matches); 

$matches[1] будет содержать ваше значение

Проще, чем регулярное выражение:

 $x = '14_hello_world'; $split = explode('_', $x); echo $split[0]; 

Выходы 14.