Php olan bir değerin bir değer katmak için nasıl

5 Cevap

$result benim değişkene 1 eklerseniz Şimdi ben 1213 cevap olsun .... 01212, ama benim değişken düşünün i 01213 .... Benim php kodu olmak istiyorum

echo sprintf('%02u', ($result+1));

Edit:

Answers to this question works.. But what happens if my variable is $result to be 0121212 in future...

5 Cevap

Sen %02u üzerine %05u yerine kullanabileceğiniz

echo sprintf('%05u', ($result+1));

EDIT:

Bunu genellemek:

<?php

$result = "0121211";

$len = strlen($result+1) + 1;

printf("%0${len}d", ($result+1)); // print 0121212


?>

Eğer deneyebilirsiniz:

str_pad($result, 5, "0", STR_PAD_LEFT);

Belki burada bir şey eksik ama o kadar basit olabilir

$result = '0'. ($result+1);

edit:

$test = array('01212', '0121212', '012121212121212', '-01212');
foreach( $test as $result ) {
  $result = '0'.($result+1);
  echo $result, "\n";
}

baskılar

01213
0121213
012121212121213
0-1211

(Eğer ;-) sınırlamalar vardır, bakınız)

Burada okuyun: http://php.net/manual/en/function.sprintf.php

sprintf, ayrıca istediğiniz uzunluğunu belirlemek için vardır - Eğer herhangi bir sayıda uzun 5chars gösterilmesini istiyorsanız durumda, yazmak haveto

echo sprintf ('%05d', $d); // 5 places taking decimal

hatta daha iyisi

printf ('%05d', $d);

Eğer numarasının önüne '0 'olmasını istediğiniz gibi görünüyor, bu yüzden burada basit olurdu: P

echo '0'. $result;

Yoksa kullanmakta ısrar ederseniz sprintf:

$newresult = $result + 1;
echo sprintf('%0'.(strlen(strval($newresult))+1).'u', $newresult);