[英]dynamic array_merge
我有一个看起来像这样的数组:
array(2) {
[0]=> array(2) {
[0]=> string(52) "./app/pictures/uploads/Audi/A1/name1.jpg"
[1]=> string(52) "./app/pictures/uploads/Audi/A1/name2.jpg"
}
[1]=> array(1) {
[0]=> string(52) "./app/pictures/uploads/Audi/A3/name3.jpg"
}
}
上面的数组可以具有两个以上的键(0,1)。 多一点信息,可能是我浏览一个文件夹。 如果有子文件夹,它将每个子文件夹放入一个数组中,并将这些子文件夹的内容/文件放入该数组中。
所以对于我的结果,我需要这样的东西:
array(3) {
[0]=> string(52) "./app/pictures/uploads/Audi/A1/name1.jpg"
[1]=> string(52) "./app/pictures/uploads/Audi/A1/name2.jpg"
[2]=> string(52) "./app/pictures/uploads/Audi/A3/name3.jpg"
}
我意识到与array_merge
:
$array = array_merge($tmparray[0],$tmparray[1]);
现在您可以看到此处的键已固定。 但是它们应该是动态的。 我怎么能知道呢? 也许是一个循环,但我不知道,在该循环中每次都不会重写$array
变量...
对此有一个清晰的想法也许为时已晚,但我很快需要一个解决方案。
您只需要循环遍历父数组,然后将子级合并到一个辅助变量中:
$result = array();
foreach ($directories as $array) {
$result = array_merge($result, $array);
}
假设$ directories是您的多级数组,而$ merged是您想要的。 然后:
$merged = array();
foreach($directories as $dir) {
foreach($dir as $file) {
$merged[] = $file;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.