我有下面的数组,其中包括一组默认索引,它们必须出现在我的最终数组中:
'entities' => [
'deliveredAt',
'issuedAt',
'totals' => [
'due',
'gross',
'net',
'tax' => [
'amount',
'net',
'rate',
],
]
],
上面的数组保存在一个名为 的变量中$entities。
现在,我有一个第 3 方 API,它将返回上述实体,但仅当实体包含值时才将它们包含在响应中。
例如,a$response可以如下所示:
array:2 [▼
"issuedAt" => "2020-08-20"
"totals" => array:1 [▼
"tax" => []
]
]
正如您所看到的,如果将返回的数组与我期望的索引进行比较,会发现缺少一些内容:
deliveredAt
totals.due, totals.gross, totals.net, totals.tax.amount, totals.tax.net, totals.tax.rate
我正在尝试创建一个可以迭代数组的方法$response,并检查它是否包含我期望的索引。如果没有,我只想将索引设置为null。
以下是我到目前为止所拥有的:
foreach ($entities as $key => $entity) {
if (!is_array($entity)) {
if (!isset($response[$entity])) {
$response[$entity] = null;
}
}
}
但是,这只会添加一个不是数组的索引。在此示例中,它只会添加:deliveredAt => null。
我该怎么做,以便上述方法可以迭代多个至少 2 个嵌套数组并添加索引名称和null值?
手掌心
呼唤远方