2014-10-31 2 views
0

У меня есть строка, которая может содержать любое из следующих действий:Извлечение цифры после окончательного подчеркивания в строке

120_254 или 120_254_65 или 140_260_220_45 или 10_210_250_55_100

мне нужно, чтобы иметь возможность лишить ЛЮБОЙ из над примерами только цифры после последнего подчеркивания. Я думаю, что я могу использовать ltrim для этого, но я не знаю, как его кодировать, когда есть несколько экземпляров подчеркивания.

+1

Вы сделали попытку выполнить это задание? – Ghost

+0

обновил мой ответ. он будет более эффективным. –

ответ

1

Try с -

$last = substr($str, strrpos($string, "_", -1) + 1); 
var_dump($last); 

strrpos($string, "_", -1) возвращает последний _ «s положение.

Или вы можете использовать explode()

$digits = explode('_', $data); 
$last = $digits[count($digits)-1]; 
+0

@ sgt..in strrpos function no need for -1. ** strrpos ($ str, '_') ** вернет тот же результат. – deadman

+0

yup it will ... я просто добавил его ... :) если 1 хочу использовать смещение, тогда он будет ссылаться. –

1

Вы можете использовать explode, чтобы получить массив из строки и array_pop, чтобы получить последний пункт:

$last = array_pop(explode("_", $str)); 
0

попробовать этот substr:

$str = substr($str, strrpos($str, '_')+1); 

$ str вернет следующий результат 100

+0

вы пробовали это ??? –

+0

да, я попробовал, а затем ан. – deadman

Смежные вопросы