Moeez
Moeez

Reputation: 478

Yii-2 Unable to format a number with leading zeros in PHP

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

Answers (2)

Naim Malek
Naim Malek

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

ScaisEdge
ScaisEdge

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

Related Questions