有人可以解释一下为什么那个三元运算符会返回第二个选项而不是第一个选项吗?
这是代码:
$token_sid =
($user->data['user_id'] == ANONYMOUS &&
!empty($config['form_token_sid_guests'])) ? $user->session_id : '';
以下是我实际测试的值
$user->data['user_id'] = 36412
ANONYMOUS = 1
$config['form_token_sid_guests'] = 0
$user->session_id = 4c148b664b7284ecb776c0a932ddf008
$token_sid = ''
知道为什么返回空值而不是用户会话ID?
答案 0 :(得分:2)
$user->data['user_id'] = 36412
不等于
ANONYMOUS = 1
(36412!= 1) 所以第一个“AND”-Condition failes和你的else-“Block”将被评估。