PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互.
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据.
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-标准的数据类型.所以呢,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量.
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据.此变量仅在碰到未识别 MIME 类型的数据时产生.$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用.也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的.但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等.
describe?tablename;??//获取表结构信息
describe?tablename?fieldname;?//获取表的某个字段结构信息
比如:describe?users?username;?//获取users表的username字段的结构信息
返回:array(
'Field'?='username',
'Null'??='NO',
'Key'?='UNI',
'Default'?='',
'Extra'?=''
)
数据类型有三种:
①..标量数据类型
标量数据类型包括以下几种.
(1)boolean:布尔型
布尔变量是PHP变量中最简单的.它保存一个True或者False值.其中True或者False是PHP的内部关键字.设定一个布尔型的变量,只需将True或者False赋值给该变量
单引号方式,
双引号方式,
Heredoc方式.
复合数据类型包括以下两种.
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array.
特殊数据类型包括以下两种.
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配.
空值是最简单的数据类型.表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写.
php是弱语言,从mysql取到的类型全是string字符串,如果你需要其他类型,你需要自己转换一下.
PHP获取POST数据的几种方法:
方法1、最常见的方法是:$_POST['fieldname'];
说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据.
说明:
允许读取 POST 的原始数据.
和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置.
php://input 不能用于 enctype="multipart/form-data".
总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据.
此变量仅在碰到未识别 MIME 类型的数据时产生.
以上就是土嘎嘎小编为大家整理的php根据值获取数据类型相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!