Как взять последний номер в строке в PHP? Как я могу получить 23 вместо 1 для $lastnum1? $text = "1 out of 23"; $lastnum1 = $this->getEval(eregi_replace("[^* out of]", '', $text)); Ответ 1 вы можете сделать: $text = "1 out of 23"; if(preg_match_all('/\d+/', $text, $numbers)) $lastnum = end($numbers[0]); Ответ 2 $text = "1 out of 23"; $ex = explode(' ',$text); $last = end($ex); и если вы хотите убедиться, что это последнее число if (is_numeric(end($ex))) { $last = end($ex); } Ответ 3 Используйте preg_match, чтобы извлечь значения в $matches: preg_match("/([0-9]+) out of ([0-9]+)/", $text, $matches); Ответ 4 $text = '1 out of 23'; preg_match('/\d+ out of (\d+)/', $text, $matches); $lastnum1 = $matches[1]; Ответ 5 Если формат будет таким же, почему бы не взорвать строку и не преобразовать последнюю? <?php $text = "1 out of 23"; $words = explode(" ",$text); $lastnum = (int)array_pop($words); Ответ 6 Другой способ сделать это: $text = "1 out of 23"; preg_match('/(\d+)\D*$/', $text, $m); $lastnum = $m[1]; Это будет соответствовать последнему номеру строки, даже если за ним следует не цифра.
Ответ 1 вы можете сделать: $text = "1 out of 23"; if(preg_match_all('/\d+/', $text, $numbers)) $lastnum = end($numbers[0]);
Ответ 2 $text = "1 out of 23"; $ex = explode(' ',$text); $last = end($ex); и если вы хотите убедиться, что это последнее число if (is_numeric(end($ex))) { $last = end($ex); }
Ответ 3 Используйте preg_match, чтобы извлечь значения в $matches: preg_match("/([0-9]+) out of ([0-9]+)/", $text, $matches);
Ответ 4 $text = '1 out of 23'; preg_match('/\d+ out of (\d+)/', $text, $matches); $lastnum1 = $matches[1];
Ответ 5 Если формат будет таким же, почему бы не взорвать строку и не преобразовать последнюю? <?php $text = "1 out of 23"; $words = explode(" ",$text); $lastnum = (int)array_pop($words);
Ответ 6 Другой способ сделать это: $text = "1 out of 23"; preg_match('/(\d+)\D*$/', $text, $m); $lastnum = $m[1]; Это будет соответствовать последнему номеру строки, даже если за ним следует не цифра.