こんにちは私のような値にインクリメントコードを作成する必要があります。PHPで "al003651"のような値にインクリメントコードを作成するにはどうしたらいいですか?
al003651 - > al003652 - > al003653
または
m000390 - > m000391 - > m000392
。なお、 0の数はさまざまです。
ありがとう、 Celso。
こんにちは私のような値にインクリメントコードを作成する必要があります。PHPで "al003651"のような値にインクリメントコードを作成するにはどうしたらいいですか?
al003651 - > al003652 - > al003653
または
m000390 - > m000391 - > m000392
。なお、 0の数はさまざまです。
ありがとう、 Celso。
数値の一部は、すべての9つのにアルファをインクリメントしているときは、接頭辞
$str = 'z91';
for ($i = 0; $i < 16; $i++)
echo $str++,'<br />';
の変更のためにトラップする必要がありますけれども、PHPはこれらの素晴らしいインクレメンタ
$str = 'al003651';
for ($i = 0; $i < 16; $i++)
echo $str++,'<br />';
echo '<hr />';
$str = 'm000390';
for ($i = 0; $i < 16; $i++)
echo $str++,'<br />';
を持っています接頭辞は変更されます
私は信じません!!!素晴らしいです ! – celsowm
<?php
$code = 'al003651';
preg_match("~([a-z]+)(\d+)~", $code, $results);
$length = strlen($results[2]);
//add one to the number
$number = (int) $results[2];
$number += 1;
//concat again
$code = $results[1];
//attach zeros
$diff = abs($length - strlen('' . $number));
$code .= str_repeat('0', $diff);
//attach new code
$code .= $number;
echo $code;
?>
+1しかし、その醜い 'for'ループの代わりに' str_repeat'を使うことをお勧めします;) – Qix
それについて考えなかったのです –
これは、簡単な文字列操作で行うには些細なことです。これまでどこにこだわっていますか? – Fanis
この種の操作を必要とするアプリケーションは、おそらく設計が間違っている可能性があります。これは何のため?なぜ数字コードを使用しないのですか? – lonesomeday