parse_str解析serialize生成的字符串,因为表单里有多选表单,解析的时候多选表单的值变成二维数组,解析后就变成array这个字符,怎么办呢? 图片是parse_str解析后的数组 报的错是:Array to string conversion
认证高级PHP讲师
这是因为复选的query string格式不一致导致的,RFC 标准里并没有规定 query string 具体应该用什么格式,因此各种语言对于一键多值都有自己的格式,比如jQuery(或者说JS系列)是这个样子:rzqd=网络搜索&rzqd=自己或者rzqd=网络搜索,自己,但是PHP的格式是rzqd[]=网络搜索&rzqd[]=自己。我觉得你要么直接就表单,要么就自己写一个函数去解析吧,反正也不复杂。
rzqd=网络搜索&rzqd=自己
rzqd=网络搜索,自己
rzqd[]=网络搜索&rzqd[]=自己
这是因为复选的query string格式不一致导致的,RFC 标准里并没有规定 query string 具体应该用什么格式,因此各种语言对于一键多值都有自己的格式,比如jQuery(或者说JS系列)是这个样子:
rzqd=网络搜索&rzqd=自己
或者rzqd=网络搜索,自己
,但是PHP的格式是rzqd[]=网络搜索&rzqd[]=自己
。我觉得你要么直接就表单,要么就自己写一个函数去解析吧,反正也不复杂。