我从一个数组以及其他一些字段中接收POST数据。我只需要获取数组数据,并在我自己的发布请求中将其作为json传递给后端服务器。
$ _ POST数据如下:
Array (
[smsgte_submit] => Y
[alias] => Array (
[1] => Array (
[name] => mywife
[number] => 6135552001
[ssid] => 1 )
[2] => Array (
[name] => daughter
[number] => 6135553001
[ssid] => )
)
)
我只想捕获别名条目并将其编码为json。
我成功通过以下方式将整个$ _POST数组编码为json:
$data['jsonpost'] = json_encode($_POST);
按预期对数组进行编码,但是,我只想要别名数组,因此我尝试了以下操作:
$data['jsonpost'] = json_encode($_POST['alias']);
那,但是不起作用,它向服务器返回null。然后我尝试了:
$data['jsonpost'] = json_encode(array_filter($_POST, 'alias'));
但是返回空值。
也许我需要重新设计表单,但最后,我想要一个看起来像这样的json数组:
{
"alias": {
"name":"mywife",
"number":"6135552001",
"ssid":"1"
},
"alias": {
"name":"daughter",
"number":"6135553001",
"ssid":"2"
}
}
答案 0 :(得分:0)
事实证明,以下语法应正确:
$data['jsonpost'] = json_encode($_POST['alias']);
但是,为了使其正常工作,我必须按以下方式进行拆分:
$jsonpost = json_encode($_POST['alias']);
$data['jsonpost'] = jsonpost;
我在两个选项之间来回切换了几次,但至少在PHP 7.3.5上,第二个选项才有效。