这个坑是在做微信登录的时候遇到的,因为客户端要做一个给苹果的审核账号,那么和客户端约定好了,当客户端传code=1的时候,就登录审核账号,但是在实际过程中,有一定几率登录到审核账号
$code = request('code');
if($code == 1){
//登录审核账号
}
//登录正式账号
当客户端传的code是001xxxxxx这类字符串的时候,就会登录到审核账号
很明显,我是有数字值,所以就会把字符串"001xxxxx"转换为数字和1比较
// 值为1
(int)'001xxxxx'
这样一看的话,也就不难解释说,当正常用的code是以1,01,001,00...1开头的code登录必定会登录到审核账号
解决办法
改为全等,这里就需要客户端传的1也必须是整形
$code = request('code');
if($code === 1){
//登录审核账号
}
//登录正式账号