微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php小技巧

为什么in_array(0, ['a', 'b', 'c']), array_search(0, ['a', 'b', 'c']), 0 == "ab" 会返回true?
在松散比较前,PHP做了类型转换。string类型的数据会转换成int型,然后再比较。使用严格比较模式in_array(0, ['a', 'b', 'c'], true), array_search(0, ['a', 'b', 'c'], true), 0 === 'ab';

为什么in_array('a', [true, 'b', 'c']), array_search('a', [true, 'b', 'c']),返回结果为true
松散比较下,任何string都等于true。
请求使用form格式会有1000个数组大小限制 
表单提交认变量数限制为1000,由PHP.ini中 max_input_vars 参数控制。也可以调整数据提交的格式,修改为application/json
在使用浮点数累加时,注意需对最终结果进行round处理
session_create_id方法有时会造成worker异常退出,fpm/swoole均会出现该问题,目前还未解决
https://bugs.PHP.net/bug.PHP?id=78295

json_encode类的私有属性会失败

需要实现\JsonSerializable接口

```

public function jsonSerialize()
{    return get_object_vars($this);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐