我有一个Main Array,里面有多个数组。我想要实现的是将它们链接/添加/推送到它们的上/主阵列
Array
(
[dates] => Array
(
[0] => stdClass Object
(
[date] => 2014-02-28
)
[1] => stdClass Object
(
[date] => 2014-03-03
)
)
[times] => Array
(
[0] => Array
(
[0] => stdClass Object
(
[start_time] => 17:30
[end_time] => 19:30
)
[1] => stdClass Object
(
[start_time] => 19:30
[end_time] => 21:30
)
[2] => stdClass Object
(
[start_time] => 21:30
[end_time] => 23:30
)
[3] => stdClass Object
(
[start_time] => 23:30
[end_time] => 01:30
)
)
[1] => Array
(
[0] => stdClass Object
(
[start_time] => 14:00
[end_time] => 14:30
)
)
)
[streamers] => Array
(
[0] => Array
(
[0] => stdClass Object
(
[username] => usernamehere
[name] => namehere
)
[1] => stdClass Object
(
[username] => usernamehere
[name] => namehere
)
)
[1] => Array
(
[0] => stdClass Object
(
[username] => usernamehere
[name] => namehere
)
)
[2] => Array
(
[0] => stdClass Object
(
[username] => usernamehere
[name] => namehere
)
)
[3] => Array
(
[0] => stdClass Object
(
[username] => usernamehere
[name] => namehere
)
)
[4] => Array
(
[0] => stdClass Object
(
[username] => usernamehere
[name] => namehere
)
[1] => stdClass Object
(
[username] => usernamehere
[name] => namehere
)
)
)
)
时间[0]下的数组必须链接/添加到日期[0],用户[0]必须链接/添加到日期[0]
我尝试过array_merge和array_push,但我之前从未使用过类似的东西,所以任何帮助都会很棒。
谢谢!
答案 0 :(得分:0)
请问print_r而不是var_dump吗? (更容易阅读),你想如何合并?假设我将时间[0]放入日期[0]:是否通过追加?或合并对象?
我会同时尝试(追加):
foreach ($big_array as $key1 => $array) {
if ($key1 == 'times') {
//Insert times into dates
foreach ($array as $key2 => $val) {
array_push($big_array['dates'][$key2],$val);
}
} else if ($key1 == 'users') {
//Insert users into dates
foreach ($array as $key2 => $val) {
array_push($big_array['dates'][$key2],$val);
}
}
}
注意:如果只有1就足够了(这只是为了便于阅读),你不需要做2个
答案 1 :(得分:0)
在BabyAzerty的帮助下,我尝试了这个:
foreach ($streams as $key1 => $array) {
if ($key1 == 'times') {
//Insert times into dates
foreach ($array as $key2 => $val) {
//array has objects so I had to add this line
$test[] = $streams['dates'][$key2];
array_push((array)$test, (array)$val);
}
} else if ($key1 == 'streamers') {
//Insert users into dates
foreach ($array as $key2 => $val) {
//var_dump($streams['times']);
//array_push($test, $val);
}
}
}
不添加用户的输出是:
Array
(
[0] => stdClass Object
(
[date] => 2014-02-28
)
[1] => Array
(
[0] => stdClass Object
(
[start_time] => 17:30
[end_time] => 19:30
)
[1] => stdClass Object
(
[start_time] => 19:30
[end_time] => 21:30
)
[2] => stdClass Object
(
[start_time] => 21:30
[end_time] => 23:30
)
[3] => stdClass Object
(
[start_time] => 23:30
[end_time] => 01:30
)
)
[2] => stdClass Object
(
[date] => 2014-03-03
)
[3] => Array
(
[0] => stdClass Object
(
[start_time] => 14:00
[end_time] => 14:30
)
)
)
我想要实现的目标是:
Array
(
[0] => Array
(
[0] => stdClass Object
(
[date] => 2014-02-28
)
[1] => Array
(
[0] => stdClass Object
(
[start_time] => 17:30
[end_time] => 19:30
)
[1] => stdClass Object
(
[start_time] => 19:30
[end_time] => 21:30
)
[2] => stdClass Object
(
[start_time] => 21:30
[end_time] => 23:30
)
[3] => stdClass Object
(
[start_time] => 23:30
[end_time] => 01:30
)
)
)
[1] => Array
(
[0] => stdClass Object
(
[date] => 2014-03-03
)
[1] => Array
(
[0] => stdClass Object
(
[start_time] => 14:00
[end_time] => 14:30
)
)
)
)
谢谢!