1. 程式人生 > >ThinkPHP5錯誤解析之variable type error:array

ThinkPHP5錯誤解析之variable type error:array

在TP5的post提交方式中,有一個坑爹的bug就是post提交資料不能提交陣列。
請注意是不能提交陣列形式的資料,而不是單純的資料。舉個例子:注意以下2種格式資料的比較:
第一種:普通的資料提交,這種格式的資料在TP5中用post提交,$request->post(‘引數’);可以接受資料。

//js,
{
    'data':123,
    'id':1,
    'name':'user'
}

下面看坑爹的第二種:

{
'data':[1,2,3,4,5],
'id':1,
'name':'user'
}

這種形式的資料同過POST提交資料在TP5框架內通過$request->post(‘引數’);去接收就會報錯。
variable type error:array
這是因為tp5不能用post去接收陣列‘data’:[1,2,3,4,5]這種資料。在通過request的post方法取獲取時,post方法不能分辨它是否是陣列。
所以在想不改變post提交方式的情況下,解決辦法之一就是用/a。(這裡的/a就相當於告訴解析器我要獲取一個數組。)
將原來的接收方式引數修改為:

Request::instance()->post('引數/a');

轉載:https://blog.csdn.net/schopenhauerzhang/article/details/70528332