相同值的PHP采样
我有一个包含数据的数组:相同值的PHP采样,php,Php,我有一个包含数据的数组: array(4) { [0]=> array(3) { ["number"]=> string(10) "8678664470" ["created_at"]=> string(10) "2018-08-11" ["title"]=> string(18) "Quaerat vol
array(4) {
[0]=>
array(3) {
["number"]=>
string(10) "8678664470"
["created_at"]=>
string(10) "2018-08-11"
["title"]=>
string(18) "Quaerat voluptatem"
}
[1]=>
array(3) {
["number"]=>
string(10) "8678664470"
["created_at"]=>
string(10) "2018-08-11"
["title"]=>
string(15) "Et dolore magna"
}
[2]=>
array(3) {
["number"]=>
string(10) "0535783461"
["created_at"]=>
string(10) "2018-08-15"
["title"]=>
string(27) "Laborious physical exercise"
}
[3]=>
array(3) {
["number"]=>
string(10) "0535783461"
["created_at"]=>
string(10) "2018-08-15"
["title"]=>
string(15) "Natus error sit"
}
}
如何制作此阵列?需要收集所有标题
,其中相同的编号
和在
处创建
array(2) {
[0]=>
array(3) {
["number"]=>
string(10) "8678664470"
["created_at"]=>
string(10) "2018-08-11"
["title"]=>
array(2) {
[0]=>
string(18) "Quaerat voluptatem"
[1]=>
string(15) "Et dolore magna"
}
}
[1]=>
array(3) {
["number"]=>
string(10) "0535783461"
["created_at"]=>
string(10) "2018-08-15"
["title"]=>
array(2) {
[0]=>
string(27) "Laborious physical exercise"
[1]=>
string(15) "Natus error sit"
}
}
}
下面是一种使用关联数组为已看到的条目累积标题的方法。一次完成(线性时间复杂度): 输出:
数组(2){
[0]=>
阵列(3){
[“数字”]=>
串(10)“8678664470”
[“创建于”]=>
字符串(10)“2018-08-11”
[“标题”]=>
阵列(2){
[0]=>
字符串(18)“Quaerat voluptatem”
[1]=>
管柱(15)“Et dolore magna”
}
}
[1]=>
阵列(3){
[“数字”]=>
串(10)“0535783461”
[“创建于”]=>
字符串(10)“2018-08-15”
[“标题”]=>
阵列(2){
[0]=>
弦乐(27)“艰苦的体育锻炼”
[1]=>
字符串(15)“Natus error sit”
}
}
}
在原始阵列上循环,并根据匹配的数据构建一个新阵列。我知道这个想法,但我不明白。这不是我需要的
function mergeTitles($data) {
$result = [];
foreach ($data as $e) {
$key = $e['number'] . "&" . $e['created_at'];
if (!array_key_exists($key, $result)) {
$result[$key] = $e;
$result[$key]['title'] = [];
}
$result[$key]['title'][] = $e['title'];
}
return array_values($result);
}