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);
}
上一篇:开发人员谈测试:单元测试开发模式下的测试框架


下一篇:二维表与列表之间的相互转换