问题描述
我在if
,else
陈述中迷失了方向,并没有找出明显简单的问题就能弄清正确的语法。
我有3种情况,我要寻找的code
保存在DTB中,或者经过硬编码,并且代码开始CODE_1-
或根本没有code
。
第一个定义的变量$code
$code = discount::where('code',$discount_code)
1]让我们检查变量$code
是否在数据库中或返回0
if (!is_null($code) !== false){
$response['discount'] = $code->discount;
} else {
$response['valid'] = false;
$response['discount'] = 0;
2]变量在DTB中不是变量,但是是硬编码的CODE_1-
这种类型的代码总是始于CODE_1-
,因此函数strpos
可以提供帮助
然后我的问题开始了,code
在日期数据库中不是
if (is_null($code) = (strpos($discount_code,'CODE-')) {
$response['valid'] = true;
$response['discount'] = 50;
?
所有这些条件可以合并在一起吗?
更新1
如何在此行if (strpos($discount_code,'CODE-') !== false) {
上加上条件
=> IF $code = null than strpos(...
if (!is_null($code) !== false) {
$referal_uid = $this->usersRepo->getIdByHash($discount_code);
$userExists = User::find($referal_uid);
$different_user = ($referal_uid !== Auth::id() ? true : false);
if ($userExists && $different_user)
{
$response['valid'] = true;
$response['discount'] = $code->discount;
$response['referal'] = $userExists->email;
} else {
$response['valid'] = false;
$response['discount'] = 0;
$response['referal'] = '';
}
if (strpos($discount_code,'CODE-') !== false) {
$referal_uid = $this->usersRepo->getIdByHash($discount_code);
$userExists = User::find($referal_uid);
$different_user = ($referal_uid !== Auth::id() ? true : false);
if ($userExists && $different_user)
{
$response['valid'] = true;
$response['discount'] = 5;
$response['referal'] = $userExists->email;
}
return $response;
}
return $response;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)