PHP响应true/false和正确的IF语句



在添加到购物车的功能中可以放置折扣,折扣是通过xxx哈希进行的。我发现问题是当用户想要作弊并键入随机xxx-123456我的系统崩溃时。

哈希来自伊万·阿基莫夫。

是否可以实现,当hashID(userID(不存在时,函数返回代码无效但没有崩溃?

public function getIdByHash($hashid) {
$response = ['valid' => false];
if ($hashid){
$response['valid'] = true;
$hashid = explode("PMX-",$hashid)[1];
$hashids = new Hashids("",6);  
return $hashids->decode($hashid)[0];
} 
if ($hashid){
$response ['valid'] = false;
return $hashids = "PMX-"."dGRLrb";
}
} 

您可以尝试:

public function getIdByHash($hashid) {
$response = ['valid' => false];
if ($hashid){
$response['valid'] = true;
try {
$hashid = explode("PMX-",$hashid)[1];
$hashids = new Hashids("",6);  
return $hashids->decode($hashid)[0];
} catch(Exception $e) {
$response ['valid'] = false;
}
} 
return $hashids = "PMX-"."dGRLrb";
} 

最新更新