将jsonp转为PHP数组和对象。
/** * jsonp转数组|Jsonp转json * @param string $jsonp jsonp字符串 * @param bool $assoc true转数组 false转对象 * @return array|ArrayObject|null */ function jsonp_decode($jsonp, $assoc = false) { $pattern = '/\((.*)\)/s'; if (preg_match($pattern, $jsonp, $matches)) { if (!empty($matches['1'])) { return json_decode($matches['1'], $assoc); } return null; } return null; }
使用实例:
//jsonp字符串 $jsonp = 'callbackFunction(["customername1","customername2"])'; //jsonp转数组 $jsonp_result = jsonp_decode($jsonp,true); var_dump($jsonp_result);
转换结果:
array(2) { [0]=> string(13) "customername1" [1]=> string(13) "customername2" }
也可以试试下面的这个方法,宇润写的,我没有测试:
/** * 把jsonp转为php数组 * @param string $jsonp jsonp字符串 * @param boolean $assoc 当该参数为true时,将返回array而非object * @return array */ function jsonp_decode($jsonp, $assoc = false) { $jsonp = trim($jsonp); if(isset($jsonp[0]) && $jsonp[0] !== '[' && $jsonp[0] !== '{') { $begin = strpos($jsonp, '('); if(false !== $begin) { $end = strrpos($jsonp, ')'); if(false !== $end) { $jsonp = substr($jsonp, $begin + 1, $end - $begin - 1); } } } return json_decode($jsonp, $assoc); }
<?php //设置Cookies数组 setcookie('Datatype[a]', '1'); setcookie('Datatype[b]', '2'); set...
项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...
先在centos安装openssl,然后开始://生成私钥openssl genrsa -out rsa_private_key.pem 1024//生成公钥openssl rsa -in rsa_private_key.pem&...
if($_SERVER['REQUEST_METHOD'] == 'POST') { echo('This is post '); } elseif ($_SERVER['...
开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...
使用php函数array_multisort()即可实现和SQL一样的order by排序. 例如我们需要对会员表按照主键降序排列,年龄升序排列://会员表数据 $list = []; $list[] = ['mid' =>&n...