Arrays PHP可以';t使用数组_walk()打印数组中的所有键名称
My gallery文件夹具有以下结构: /年/月/日/文件 然后,我将在我的网站上打印它们。我有一个函数,可以获取大数组中的所有文件,结构如下:Arrays PHP可以';t使用数组_walk()打印数组中的所有键名称,arrays,recursion,tree,key,array-walk,Arrays,Recursion,Tree,Key,Array Walk,My gallery文件夹具有以下结构: /年/月/日/文件 然后,我将在我的网站上打印它们。我有一个函数,可以获取大数组中的所有文件,结构如下: Array ( [2017] => Array ( [01] => Array ( [01] => Array (
Array
(
[2017] => Array
(
[01] => Array
(
[01] => Array
(
[0] => yo.jpg
)
)
)
[2016] => Array
(
[02] => Array
(
[01] => Array
(
[0] => yo.jpg
)
)
[01] => Array
(
[03] => Array
(
[0] => timed-photos10.jpg
)
[01] => Array
(
[0] => yo.jpg
)
)
)
)
然后,我创建了一个新函数来打印这些图像,我需要获取它们的路径,读取它们的所有数组键
以下是我的功能:
// ...
array_walk($mediaList, array($this, 'generateMedia'));
public function generateMedia(&$value, $key)
{
if(is_array($value))
{
echo $key . "/";
array_walk($value, array($this, 'generateMedia'));
}
else
{
echo $value . "<br>";
}
}
如您所见,第一条和第二条记录是正确的,但第三条和第四条记录是不正确的,因为这些元素有多个数组
我一直在尝试不同的事情,但我无法解决它
我能做什么
谢谢大家! 尚未测试您的代码,但这将起作用:
foreach ($mediaList as $year => $months) {
foreach ($months as $month => $days) {
foreach ($days as $day => $files) {
foreach ($files as $key => $file) {
echo $year . '/' . $month . '/' . $day . '/' . $file;
}
}
}
}
谢谢兄弟!它很好用。我在玩array_walk函数,我想用它,但你的代码更简单。很高兴听到@viher。请接受答案,如果它的工作预期。
foreach ($mediaList as $year => $months) {
foreach ($months as $month => $days) {
foreach ($days as $day => $files) {
foreach ($files as $key => $file) {
echo $year . '/' . $month . '/' . $day . '/' . $file;
}
}
}
}