【发布时间】:2021-07-16 08:12:00
【问题描述】:
我有这个数组,我需要在其中添加带有 company_count 的另一个字段 - 我从另一个数组中获取该字段,但问题是当我这样做时,如果我在 company_number 中有 5 个结果,因为我正在取消设置它们当我合并两个数组时,我将只有 5 个结果。 使用这个 foreach 我只是抓取元素并添加前 5 个结果。
其余的数组示例在这里 https://pastebin.com/LbkmXmMt
如您所见,当我合并两个数组时,我仅在前 5 个结果中有 company_number,现在我需要添加 第一个数组
array (
0 =>
array (
'id' => '90557',
'company_id' => '1537',
),
1 =>
array (
'id' => '71619',
'company_id' => '257',
),
2 =>
array (
'id' => '87818',
'company_id' => '7865',
),
3 =>
array (
'id' => '87824',
'company_id' => '7865',
),
4 =>
array (
'id' => '87821',
'company_id' => '7865',
),
5 =>
array (
'id' => '52912',
'company_id' => '11682',
),
6 =>
array (
'id' => '85963',
'company_id' => '2485',
),
7 =>
array (
'id' => '80716',
'company_id' => '2485',
),
8 =>
array (
'id' => '79529',
'company_id' => '2485',
),
)
array (
0 =>
array (
'company' => '1537',
'company_number' => '1091',
),
1 =>
array (
'company' => '257',
'company_number' => '111',
),
2 =>
array (
'company' => '7865',
'company_number' => '33',
),
3 =>
array (
'company' => '11682',
'company_number' => '18',
),
4 =>
array (
'company' => '2485',
'company_number' => '165',
),
)
如果我的结果具有相同的公司 ID,我需要添加相同的 company_number。 例如,公司 id = 7865 的数组应该有 company_number = 33,三倍。
我需要这样的结果
array (
0 =>
array (
'id' => '90557',
'company_id' => '1537',
'company_number' => '1091'
),
1 =>
array (
'id' => '71619',
'company_id' => '257',
'company_number' => '111'
),
2 =>
array (
'id' => '87818',
'company_id' => '7865',
'company_number' => '33'
),
3 =>
array (
'id' => '87824',
'company_id' => '7865',
'company_number' => '33'
),
4 =>
array (
'id' => '87821',
'company_id' => '7865',
'company_number' => '33'
),
5 =>
array (
'id' => '52912',
'company_id' => '11682',
'company_number' => '18'
),
6 =>
array (
'id' => '85963',
'company_id' => '2485',
'company_number' => '165'
),
7 =>
array (
'id' => '80716',
'company_id' => '2485',
'company_number' => '165'
),
8 =>
array (
'id' => '79529',
'company_id' => '2485',
'company_number' => '165'
),
)
$test = array();
foreach($individual as $value){
foreach($value as $j => $users) {
foreach($company_numbers as $key => $company_num) {
if($users['company_id'] == $company_num['company']) {
$test[]['company_number'] = $company_num['company_id'];
$test[] = $users;
}
}
}
}
array(18) {
[0]=>
array(1) {
["company_number"]=>
string(4) "1091"
}
[1]=>
array(18) {
["id"]=>
string(5) "90557"
["company_id"]=>
string(4) "1537"
}
需要在同一个数组中
【问题讨论】:
-
请提供正确的minimal reproducible example 您的问题。您那里的数组包含许多项目,这些项目似乎与当前问题无关 - 所以请删除这些项目,这将使这个问题更容易理解,如果我们不必对这么多混乱进行排序。
-
需要将我的第二个数组中的公司与第一个数组中的 company_id 映射并添加 company_number
-
已编辑,现在它只是我在这种情况下需要的数据。
-
再次,请提供一个正确的 minimal reproducible example,而不是“这里的代码,那里的数组——你们拼凑起来”。您当前显示这些数组的方式,我们甚至不能只是复制和粘贴它们,因为那不是有效的 PHP 代码。 (提示:
var_export可以从数组等数据结构中生成有效的 PHP 代码。)
标签: php multidimensional-array