У меня есть два массива. Массив 1 содержит имена пользователей и связанные идентификаторы. В массиве два содержат одинаковые идентификаторы, временную метку и число «последователей», связанных с этой меткой времени и этим идентификатором.Как объединить два массива в один многомерный массив
Примеры, (это лишь малая часть данных):
$ accounts_list массив
array(4) {
[0]=> array(2) {
["id"]=> string(4) "1279"
["name"]=> string(13) "Something_big"
}
}
$ followers_list массив
array(12) {
[0]=> array(3) {
["account_id"]=> string(4) "1279"
["date_time"]=> string(19) "2014-11-14 16:24:03"
["followers"]=> string(4) "1567"
}
[2]=> array(3) {
["account_id"]=> string(4) "1279"
["date_time"]=> string(19) "2014-11-14 18:52:35"
["followers"]=> string(4) "1566"
}
[8]=> array(3) {
["account_id"]=> string(4) "1279"
["date_time"]=> string(19) "2014-11-17 12:11:59"
["followers"]=> string(4) "1557"
}
}
Как вы можете видеть , массив $ followers_list хранит последователей за метку времени/дату для определенного идентификатора. Идентификатор совпадает с идентификатором и именем.
То, что я пытаюсь сделать, это объединить данные вместе во что-то вроде этого:
$ new_array
array(1) {
[0]=>
array(2) {
["id"]=> string(4) "1279"
["name"]=> string(13) "Something_big"
["dates"]=>
array(3) {
["date_time"]=> string(19) "2014-11-17 12:11:59"
array(1) {
["followers"]=> string(4) "301"
}
["date_time"]=> string(19) "2014-12-17 13:10:32"
array(1) {
["followers"]=> string(4) "307"
}
["date_time"]=> string(19) "2014-12-17 15:16:45"
array(1) {
["followers"]=> string(4) "317"
}
}
}
}
Надеюсь, вы можете увидеть, что я имею в виду, я хочу иметь массивы с каждая дата содержит последователей. И эти даты должны быть внутри пользовательского индекса. Так что весь массив хранит даты и подписчиков на пользователя.
Я попытался разобраться, как петля через массив $followers_list
и добавить его в массив $accounts_list
, но я не могу решить, как сопоставить ID в обоих массивах друг с другом.
Как бы вы создали этот массив?
Это то, что я пробовал:
$counter = 0;
foreach ($followers_data as &$follower_count){
$timestamp = $follower_count['date_time'];
$followers = $follower_count['followers'];
$time_and_followers = [$timestamp,$followers];
array_push($accounts_data[$counter],$time_and_followers);
$counter++;
}
Конечно, это на самом деле не работает, потому что $ номер счетчика не всегда совпадает с индексом счета ID в первом массиве.
Вы пробовали '$ accounts_list [0] [ "даты"] = $ followers_list;'? –
Индекс '$ accounts_list' с идентификатором в качестве ключа. –
@CharlesRojas, который не дает правильного результата вообще: http://pastebin.com/Z826d7h7 – Francesca