【发布时间】:2017-05-02 12:57:26
【问题描述】:
我需要找出一个让我感到困惑的逻辑。 我有一个看起来像这样的数组。
array (
0 => array (
'invoice_id' => 'WUI_588'
'email' => 'abc@hotmail.com'
),
1 => array (
'invoice_id' => 'WUI_588'
'email' => 'def@hotmail.com'
),
2 => array (
'invoice_id' => 'WUI_589'
'email' => 'ninja@hotmail.com'
),
3 => array (
'invoice_id' => 'WUI_589'
'email' => 'ghi@hotmail.com'
),
4 => array (
'invoice_id' => 'WUI_590'
'email' => '123@hotmail.com'
),
5 => array (
'invoice_id' => 'WUI_590'
'email' => '123@hotmail.com'
),
6 => array (
'invoice_id' => 'WUI_591'
'email' => '456@hotmail.com'
),
7 => array (
'invoice_id' => 'WUI_591'
'email' => '456@hotmail.com'
),
)
所以如果我要在表格布局中打印数组,我会得到这样的结果:-
INDEX | INVOICE ID | EMAIL
0 | WUI_588 | abc@hotmail.com
1 | WUI_588 | def@hotmail.com
2 | WUI_589 | ninja@hotmail.com
3 | WUI_589 | ghi@hotmail.com
我想要的是这样的:-
INDEX | INVOICE ID | EMAIL
0 | WUI_588 | abc@hotmail.com, def@hotmail.com
1 | WUI_589 | ninja@hotmail.com, ghi@hotmail.com
....等等。 我所做的尝试之一是这样的,
foreach ($array as $key => $value) {
$invoiceidbucket[] = $value['invoice_id'];
if(in_array($value['invoice_id'], $invoiceidbucket)) {
$value['merged_email'][] = $value['email'];
//Clearing array
$invoiceidbucket = array;
}
}
【问题讨论】:
-
向我们展示一些您尝试过的代码或您第一次到达的代码
-
@Thamilan,我添加了一个不成功的解决方案。
-
看看@Saty 的回答。他们在回答你之前打赌我:)
-
@Thamilan 你在用同样的逻辑吗??
-
@Saty,不。有些不同,但使用相同的内置方法