php - PHP 响应真/假和正确的 IF 语句
问题描述
添加到购物车功能可以放置折扣,折扣是通过 xxx-hashid 进行的。我发现问题是当用户想要作弊并输入随机 xxx-123456 我的系统崩溃时。
hashid 来自 Ivan Akimov。
当 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";
}
推荐阅读
- r - 在R中nchars的某个点之前提取所有“整个”字符元素?
- ios - 无论成功或失败,我如何告诉 RxSwift 做某事
- css - 伪元素忽略/覆盖溢出隐藏属性
- html - 尝试将函数传递回 App.js 并卡住 REACT
- ionic-framework - Ionic 安全存储 Try Catch
- bash - Packer Docker Builder:为 docker run 配置 shell?
- c++ - 动态向量数组中的 C++ 访问冲突读取位置 0xFFFFFFFFFFFFFFFF
- pdf - 如何生成powerbi嵌入式报告的PDF输出
- terraform - 如何在 Hashicorp Terraform 中配置环境变量
- restsharp - restsharp First Chance Exception - 我用错了吗?