In my listing page I have to show the record ID in eight character length string. This needs to be combination of letters and digits. The first 4 characters need to be letters and last 4 need to be digits. For viewing purpose alone I need to show the record ID in this formatted manner.
If a record ID has less than 4 digits, then add prefix 0's in front of them.
For example:
record #2 needs to show like AAAA0002.
AAAB0001.
The first part of 4 letters starts with A,
if the record ID has more than 4 digits, the respected characters need to be incremented in the same manner开发者_开发技巧.
Can any one suggest me your valuable advice in this ?
Ok, I hope I understood it:
You have record IDs which can consist of max. 8 digits. If an ID has less than 8 digits, it should be prepended with '0'. You can do so by using sprintf[docs]:
// $id is 10001
$id = sprintf('%08d', $id); // 00010001
Then you want to convert the first four digits into letters, where (it seems) 0=>A, 1=>B,.... You can create such a mapping with range[docs]:
$char_map = range('A', 'J'); // array(0 => A, 1 =>B, ..., 9 => J);
To convert the digits, you can use strtr[docs], and to only get the first four digits, substr[docs]:
$id = strtr(substr($id, 0, 4), $char_map) . substr($id, 4); // AAAB0001
Here is a DEMO
加载中,请稍侯......
精彩评论