如何使用php将字符串添加到随机生成的数字?

时间:2019-03-10 15:09:09

标签: php

在我的php代码中,插入新记录时,发票号应为0001。在这里,我想添加字符/一个字(例如“光学”),并且应该像optical0001。如何在号码前加上这个?

$query          = "select * from cust_report_invoices order by invoiceID desc limit 1";
    $result         = $link->query($query);
    $row            = $result->fetch_assoc();
    $invoiceNo      = $row['invoiceNo'];
    $prefix = 'Baopt_'; 
    $getinvoiceNo   = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT);

$sql            = "INSERT INTO cust_report_invoices (invoiceNo,invoiceDate)
VALUES ('$getinvoiceNo', '$getinvoiceDate'            )";

4 个答案:

答案 0 :(得分:2)

str_pad返回字符串(doc)。因此,只需与.保持联系:

$prefix = 'optical';
$invoice   = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT); 

修改

添加新元素时,您需要删掉前缀-您可以使用以下代码:

$prefix = 'Baopt_';
$invoiceNo = $row['invoiceNo']; 
if (substr($invoiceNo, 0, strlen($prefix)) == $prefix) // if already has prefix
    $invoiceNo = substr($invoiceNo, strlen($prefix)); // remove it
$getinvoiceNo   = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT);

答案 1 :(得分:1)

在PHP中工作时,您可以将.用作串联运算符。我看到您使用了返回字符串的函数str_pad

因此,您可以像这样将前缀与发票编号连接起来。

$prefix = 'optical';
$invoice   = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT);

$prefix可以是您想要的任何东西。

invoice = 0001时,此示例将返回optical0001

答案 2 :(得分:0)

"Opticals".$getinvoiceNo 点是连接字符串。

答案 3 :(得分:0)

不确定我是否理解正确,您想在“光学”前面加上$ getinvoiceNo吗?

如果是,那很简单,

invoiceId = "optical$getinvoiceNo"