Reputation: 478
Using this solution. I am trying to format a number with leading zero's. The length is 12 digits. The starting is 00000000001
and if the number is 10 then 000000000010
and so on. I have tried below
OGP-<?php $model=$dataProvider->getModels()[0];
str_pad($model['OGP_Serial_No'], 12, '0', STR_PAD_LEFT)?>
But it's giving me empty result OGP-
.
How can I achieve this?
Any help would be highly appreciated.
Upvotes: 2
Views: 839
Reputation: 1184
Try this
<?php
if(isset($dataProvider->getModels()[0]) && $dataProvider->getModels()[0] != array()){
$model = $dataProvider->getModels()[0];
$OGP_Serial_No = $model['OGP_Serial_No'];
$myNumber = "OGP-".str_pad($OGP_Serial_No, 12, '0', STR_PAD_LEFT);
}else{
$myNumber = "OGP-".str_pad(1, 12, '0', STR_PAD_LEFT);
}
echo $myNumber;
?>
Upvotes: 1
Reputation: 133390
Try check the real content eg: using var_dump()
<?php
$models = $dataProvider->getModels(); [0];
$myString = 'OGP-' . str_pad( $models[0]['OGP_Serial_No'] , 12, '0', STR_PAD_LEFT);
var_dump($myString);
?>
Upvotes: 0