Nasıl Aşağıdaki örnek dize kimliği edinebilirsiniz?

2 Cevap

Ben web sitemizde bir özellik için bir kimliği dışarı ped aşağıdaki yöntemi kullanın:

function generateAgentRef($id,$length=5,$strPrefix='1'){
    return $strPrefix . str_pad($id,$length,0,0);
}

String $ uzunluğuna gelene kadar Temelde 0 ile 'id dışarı 1 önek ve sonra pad olacaktır.

Ama şimdi bu süreci dönmek için bir şartı var. Örneğin ben şu kimlikleri varsa: 100650,100359,100651,100622,100112,100687, nasıl kimlik örneğin alabilirsiniz 650, 359, 651, 622, 112, 687?

Bu ben başarmak için çalışıyorum ne açıklar umuyoruz.

Veritabanında ID 0 ile başlar asla, bu yüzden dize bileşenleri üzerinde yineleme ve 0'dan başka bir şey çarptı ve sonra dize bölme zaman tespit düşünüyordum.

2 Cevap

oluşturulan ref 100.000 çıkartmak ve uzunluğu tam 6 sayı ise intval() bu işe yarayabilir.

Sizin ilk fonksiyonu genişletilmesi

function getAgentId($id, $length = 5, $strPrefix = 1){
    return $id - generateAgentRef(0, $length, $strPrefix);
}

$id = generateAgentRef(255);
echo $id, PHP_EOL; // 100255
echo getAgentId($id), PHP_EOL; //255