使用this解决方案。我试图用前导零来格式化一个数字,长度是12位。开始是00000000001,如果数字是10,那么000000000010等等。我在下面试过
OGP-<?php $model=$dataProvider->getModels()[0];
str_pad($model['OGP_Serial_No'], 12, '0', STR_PAD_LEFT)?>但是它给了我一个空的结果,OGP-。
我怎样才能做到这一点?
任何帮助都将不胜感激。
发布于 2017-11-20 07:16:32
尝尝这个
<?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;
?>发布于 2017-11-20 07:22:39
试着检查实际内容,例如:使用var_dump()
<?php
$models = $dataProvider->getModels(); [0];
$myString = 'OGP-' . str_pad( $models[0]['OGP_Serial_No'] , 12, '0', STR_PAD_LEFT);
var_dump($myString);
?>https://stackoverflow.com/questions/47386560
复制相似问题