2015-04-22 3 views
1

Мои вопросы несколько основаны на этом: How can I get the last 7 characters of a PHP string?Как я могу получить последние x символов строки до тех пор, пока не достигнет определенного символа?

Шахта аналогична. Мне нужно, чтобы получить последние х символов строки и остановить, когда я достигаю «-»

, например, у меня есть код бронирования: N-903

и я могу получить последние 3 символов, как так:

$booking_Code = N-903 
$booking_Code = substr($booking_Code, -3); 

и результат будет:

903 

Это число, однако, будет увеличиваться, так что я ожидал увидеть бронируем коды, как:

N-1001 
N-22520 
N-201548 

поэтому код:

substr($booking_Code, -3); 

станет бесполезным. Есть ли способ использовать «-» в качестве разделителя? Я думаю, что это правильный термин для использования. потому что число, которое генерируется, всегда будет появляться после дефиса «-». Любая помощь будет принята с благодарностью

+1

Dont вы просто хотите, чтобы взорвать на дефис? –

ответ

3

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

<?php 
$tmpArray = explode("-",$mystr); 
echo $tmpArray[1]; 

?> 

Вы можете обратиться к explode функции в PHP.

+0

Теперь я чувствую себя идиотом. Почему я не думал об этом! –

1

В качестве альтернативы, вы можете также использовать strrchr в сочетании с substr у вас есть:

$booking_Code = 'N-903'; 
$booking_Code = substr(strrchr($booking_Code, '-'), 1); 
echo $booking_Code; // 903 
+0

Мне тоже нравится. Будет ли это применимо, если бы у меня было множество дефисов в моей строке? например, N-07-03-903 Мне нужны цифры после последнего дефиса! –

+1

@AkiraDawson да, это было бы его красотой, вы все равно получите последние цифры от последнего '-'. 'explode()' также может покрыть эту проблему, просто используйте 'end()'. он получит последний взорванный элемент вместо того, чтобы указывать прямо в индекс – Ghost

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

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