php三元运算符表达式求助

问题描述

一个关于数据的判断如果为空则从数组中去除该值,如果不为空则把MD5加密后的字符值传给该值。

比如一个数组$data中有$data['pass'],如果$data['pass']为空,则unset()掉,如果不为空,则$data['pass'] = md5($data['pass'])。

如何用一个三元运算表达式来表示而不是用if判断?求高手指点。

阅读 3.4k
2 个回答

比如一个场景哈 ,就是修改用户信息的时候密码的场景;
不填写就使用原来的,填写就使用新的并且哈希加密

$data['password'] = !empty($data['password']) ? Hash::make($data['password']) : $row['password'];

这种方式会判断 ,如果password不为空就加密它,否则就使用旧密码!

根据你的需求
应该是可以使用的

刚测试了一下, unset不可以用在三元表达式里面,老老实实用if

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题