创建同一数组的另一个数组-仅一个键值。 PHP

时间:2018-08-22 14:14:41

标签: php arrays

我正在尝试从另一个数组中的一个条目创建一个数组。因此,麻烦的是我从前端获得了一个数组,如下所示:

 [{
    "account_id": "123456789",
    "month_id": 201808,
    "month_budget": 11
 }, {
    "account_id": "111222",
    "month_id": 201809,
    "month_adops_forecast": 11
 }]

现在在后端,我必须检索“ month_budget”或“ month_adops_forecast”,我已经在后端创建了一个if语句,如下所示:

    if (isset($data['month_budget'])) {
        $metric = "month_budget =". $data['month_budget'];
    } else if (isset($data['month_adops_forecast'])){
        $metric = "month_adops_forecast =". $data['month_adops_forecast'];
    }else {
        return false;
    }

如您所见,我将其创建为string,但我希望将此"metric"放在自己创建的数组中。我尝试同时获取键和值,但这仅给了我价值,因为它位于if (isset($data['month_budget'])) {内部,因此说$data['month_budget']时我无法获取键

检索此数据的最佳方法是什么?

想要的结果:
$ data =与其相同的数组
$ metric = month_budget或month_adops_forecast

$metric = array('month_adops_forecast' => 11);

OR

$metric = array('month_budget' => 11);

2 个答案:

答案 0 :(得分:1)

您可以使用此:

if (isset($data['month_budget'])) {
    $metric['month_budget'] = $data['month_budget'];
} else if (isset($data['month_adops_forecast'])){
    $metric['month_adops_forecast'] = $data['month_adops_forecast'];
} else {
    return false;
}

$metric = "month_budget =". $data['month_budget']表示法不能用于创建数组,您必须使用$array['key']$array = array('key' => 'value')设置键,当然,这是最常见的方法

我假设您正在尝试最后一个。

答案 1 :(得分:0)

如果我的回答正确,要获得预期的结果,可以使用以下方法:

if (isset($data['month_budget'])) {
    $metric['month_budget'] = $data['month_budget']);
} else if (isset($data['month_adops_forecast'])){
    $metric['month_adops_forecast'] = $data['month_adops_forecast']);
}else {
    return false;
}