假设 $selectRows是个数组 再输出时(也就是外部调用时)是echo 还是 return 还是print_r之类的 为啥外部一直获取不到我是 echo urlencode(json_encode($selectRows)),外部在调用时$gc=file_get_contents(http://域名/类名/方法名/传入的值) 但是在输出时,直接输出$gc还可以接收到数据 但是 print_r(urldecode(json_decode($selectRows)))打印数组时 却什么也没有了
(
[0] => Array
(
[id] => 1
[user] => admin
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
) [1] => Array
(
[id] => 2
[user] => admin1
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
) [2] => Array
(
[id] => 3
[user] => admin2
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
))传送时 用的print_r 接受输出时也是print_r 如果传送时用echo 接受print_r 显示的是array,使用var_dump(is_array($gc)) 返回false
如果内容为空或者什么的那就是取的数据有问题,如楼上输出内容看看
用file_get_contents得到$gc后,echo json_decode(urldecode($gc));
准没错
(
[0] => Array
(
[id] => 1
[user] => admin
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
) [1] => Array
(
[id] => 2
[user] => admin1
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
) [2] => Array
(
[id] => 3
[user] => admin2
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
))
以上是外部没调用前 直接print_r 的结果(没用json_decode和urldecode)
下面的是外部调用的结果,就是file_get_contents后的(没用json_decode和urldecode),但是is_array后 却返回false
Array
(
[0] => Array
(
[id] => 1
[user] => admin
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
) [1] => Array
(
[id] => 2
[user] => admin1
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
) [2] => Array
(
[id] => 3
[user] => admin2
[pwd] => e10adc3949ba59abbe56e057f20f883e
[logintime] =>
[ip] =>
))
++楼主私下多理顺理顺这些函数的关系 竟然给json数据urlencode,目的何在?给要json的数据先urlencode是为了转义那些可能与json格式冲突的字符,比如“{}[]等。
你这个例子没看懂,是神马意思。。