如何在未知数组长度的 PHP 中获取 for 循环中的 commun 结果


How do I get the commun results in a for loop in a unknown array length PHP

我有一个日期数组,我想获取所有日期中的所有值,这是我的例子:

$array = [
{"d1":["2016-01-04","2016-01-11","2016-01-18","2016-01-25","2016-02-01"]},
{"d2":["2016-01-05","2016-01-11","2016-01-19","2016-01-25","2015-12-12"]},
{"d3":["2016-01-05","2016-01-11","2016-01-25"]},
{"d4":["2016-01-04","2016-01-11","2016-01-25"]}
]

结果:

$result = ["2016-01-11", ,"2016-01-25"];

这是一个工作示例(可以优化,但它应该可以工作):

$array = json_decode('[
{"d1":["2016-01-04","2016-01-11","2016-01-18","2016-01-25","2016-02-01"]},
{"d2":["2016-01-05","2016-01-11","2016-01-19","2016-01-25","2015-12-12"]},
{"d3":["2016-01-05","2016-01-11","2016-01-25"]},
{"d4":["2016-01-04","2016-01-11","2016-01-25"]}
]');

$allArrays = array();
foreach ($array as $object) {
    foreach ($object as $datesArray) {
        array_push($allArrays, $datesArray);
    }
}
$sharedDates = call_user_func_array('array_intersect',$allArrays);
var_dump($sharedDates);