конвертировать 01, 02, 03, 04 .. 09 в 1,2,3,4 ... 9 - PullRequest
4 голосов
/ 04 декабря 2009

сено, как я могу конвертировать

01 to 1
02 to 2

вплоть до 9?

Спасибо

Ответы [ 8 ]

23 голосов
/ 04 декабря 2009

Я предполагаю, что ввод является строкой?

$str = "01";
$anInt = intval($str);

Вы можете подумать, что ведущий 0 будет означать, что это интерпретируется как восьмеричное, как и во многих других языках / API. Однако вторым аргументом для intval является база. Значение по умолчанию для этого - 10. Это означает 09-> 9. См. Первый комментарий на странице intval , в котором говорится, что базовый вычет, который вы можете ожидать, произойдет только в том случае, если вы передадите 0 в качестве базы.

2 голосов
/ 04 декабря 2009
$x="01";
$x=+$x;

$x="02";
$x=+$x;

...

или

$x=+"01";

должно работать как для int, так и для строки

0 голосов
/ 17 апреля 2018

Вы можете использовать предопределенную функцию php.

intval() 

Например:

 $convert =  intval(01);
 echo $convert ;

Будет напечатано 1 (один);

0 голосов
/ 16 января 2018

Do (int)$str; вместо. Это в 4 раза быстрее, чем intval().

0 голосов
/ 17 апреля 2013
$str='05';

if(strpos($str,'0')==0 && strpos($str,'0') != false ){ 
 $new = intval(substr($str,1));
}
0 голосов
/ 04 декабря 2009

Если вы хотите использовать универсальное решение для регулярных выражений: 's / [0] ([0-9]) / \ 1 /' (при необходимости добавьте якоря)

0 голосов
/ 04 декабря 2009
$i = substr($input, 1, 1);
0 голосов
/ 04 декабря 2009
$str = "05";
$last = $str[1]; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...