php疑难问题

php中比较运算符中不同类型变量比较

有一次开发中遇到一个问题,比较两个变量大小,根据条件走不同的逻辑。但是发现条件结果总是不符合预期。通过调试打印变量,发来其中有一个变量是数组类型的,一个是数字类型的。通过翻阅php手册获知,数组类型的都比数字类型的值大。对于不同变量间进行大小比较,规则如下:对象类型 总是 比其他类型的变量 大数组类型 总是 比其他类型的变量 大 (ps:对象类型除外)bool 与 其他类型变量比较时,其他类型先转

记一次表单多个input元素提交后php接收处理数据部分缺失问题分析

有一次有个页面表单有很多input文本框,提交到程序端,打印发现缺失部分提交的数据,只显示前1000个数据。首先通过抓包查询请求数据,发现数据都是正常的,没有缺失。关键是程序也没有什么错误提示信息。通过打印file_get_contents('php://input') 值发现数据都是有的,发现解析成 $_POST 这一步数据缺失了,通过查询手册得知,php中有个参数max_input

解决php中each函数在7.2版本提示deprecated错误问题

今天有个thinkphp5.0版本的项目切换到php7.2版本,有个页面一直报错,打开调试代码。发现错误提示“The each() function is deprecated. This message will be suppressed on further calls”。说明php不建议继续使用each函数了,那如何修改代码了,下面介绍两种方法:1、改成 key()、current()函数来组装 $arr=['name'=>'phper163','year

如何将php变量值安全的输出到js中

之前没考虑到这个问题,以为直接调用输出下就行了,这次有个编辑跟我说,页面不能加载更多内容了,用chrome浏览器调试模式查看有js报错,原来是输出的内容中有换行符造成js错误,从而导致后面的js不能正常执行了。不安全的做法:...   var share_content=''; ...上面的代码是不严谨的,没有考虑到变量可能含有一些特殊的字符,如换行、引号等。正确的做法如下,...   var share_con

分析一次写入微信昵称数据执行sql报错问题

客户反馈之前做的一个专题,有个用户报名数据没有正确写入。简单介绍下h5功能,类似报名功能,微信下授权后获取到openid、nichname,之后填写姓名并选择所在城市等信息,提交表单信息。其他用户填写都是正常的,通过用户反馈过来,用户昵称为“橙澄僜”。通过调试发现,这个昵称字符串转换为gbk编码后,再通过addslashes转义,字符串末尾会出现反斜线(\)。造成拼接的sql出现解析错误。header("Content-Type:text/html;charset=gbk"); $ss='橙澄僜