PHP - $ _POST的数据类型解决方法

kas*_*101 0 php arrays post variable-types

我想知道是否有办法让POST数组的值作为字符串以外的东西返回?

所以,例如,如果我想:

 foreach ($_POST as $key => $value) 
 {
     if (is_X($value)) // X being int or bool or string, etc....
     {
         do something.....
     }
 } 
Run Code Online (Sandbox Code Playgroud)

我开始考虑可能settype($var, "type") 但是,我必须明确设置每个输入的类型,这似乎是一个荒谬的方式来解决这个问题.

dec*_*eze 6

简而言之:没有.POST数据来自HTTP协议,通常是x-www-form-urlencoded.此格式根本不指定任何类型,一切都是字符串.PHP不会也不会在任何这些值上神奇地灌输类型.

如果要传输类型信息,则必须使用其他序列化格式.例如,JSON在客户端上编码您的值并将JSON数据作为请求主体POST.JSON是一种支持许多不同类型的文本格式.