Php 如何从子阵列和计数中获取所有文件名?
我有一个名为$thumbs_meta的数组,我想从sizes子数组中获取所有文件名,这样我就可以对它们进行计数,并将它们粘合到一个逗号分隔的字符串中Php 如何从子阵列和计数中获取所有文件名?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个名为$thumbs_meta的数组,我想从sizes子数组中获取所有文件名,这样我就可以对它们进行计数,并将它们粘合到一个逗号分隔的字符串中 Array ( [width] => 1024 [height] => 768 [file] => 2018/08/Penguins.jpg [sizes] => Array ( [thumbnail] => Array
Array
(
[width] => 1024
[height] => 768
[file] => 2018/08/Penguins.jpg
[sizes] => Array
(
[thumbnail] => Array
(
[file] => Penguins-150x150.jpg
[width] => 150
[height] => 150
[mime-type] => image/jpeg
)
[medium] => Array
(
[file] => Penguins-300x225.jpg
[width] => 300
[height] => 225
[mime-type] => image/jpeg
)
[medium_large] => Array
(
[file] => Penguins-768x576.jpg
[width] => 768
[height] => 576
[mime-type] => image/jpeg
)
[large] => Array
(
[file] => Penguins-1024x768.jpg
[width] => 1024
[height] => 768
[mime-type] => image/jpeg
)
[twentyseventeen-thumbnail-avatar] => Array
(
[file] => Penguins-100x100.jpg
[width] => 100
[height] => 100
[mime-type] => image/jpeg
)
)
)
我试过foreach,但又多了一步,所以不起作用。我应该循环两次吗
这是我的礼物,但不起作用:
foreach($thumbs_meta as $key => $value) {
$fullname .=$value['file'].',';
}
$thumbs_count = count( $thumbs_meta );
具体来说,我想从这些键中分离文件值:缩略图、中、大、中、大和217个缩略图化身
我期望的计数是5
我的逗号分隔字符串是:
Penguins-150x150.jpg,Penguins-300x225.jpg,Penguins-768x576.jpg,Penguins-1024x768.jpg,Penguins-100x100.jpg
在尺寸上,子阵列将以非常简洁易读的方式得到您想要的
代码:
输出:
array (
0 => 'Penguins-150x150.jpg',
1 => 'Penguins-300x225.jpg',
2 => 'Penguins-768x576.jpg',
3 => 'Penguins-1024x768.jpg',
4 => 'Penguins-100x100.jpg',
)
Count: 5
Imploded: Penguins-150x150.jpg,Penguins-300x225.jpg,Penguins-768x576.jpg,Penguins-1024x768.jpg,Penguins-100x100.jpg
你想要的确切结果是什么?企鹅-100x100.jpg合格吗?从字面上讲,在您的示例数据中只有一个缩略图,所以我看不出循环的意义。这是对你的项目数据的一个真实的分类吗?@mickmackusa在大小数组下你可以看到缩略图,中,中,大,大等等,里面都有文件名。我想数一数文件名,列出所有用逗号分隔的文件。在本例中,输出将是计数5,文件名=Penguins-150x150.jpg,Penguins-300x225.jpg,Penguins-768x576.jpg,Penguins-1024x768.jpg,Penguins-100x100.jpgLooks,可能您对$thumbs\u meta的两个引用都应该是$thumbs\u meta['size']?@GregSchmidt但它会列出大小下的所有文件名???如果您显示的数组是$thumbs\u meta,那么foreach$thumbs\u meta['sizes']as$key=>$value将按顺序将thumbnail、medium、medium\u large等作为$key,而$value将是包含“file”的数组,正如您的代码所期望的那样。
array (
0 => 'Penguins-150x150.jpg',
1 => 'Penguins-300x225.jpg',
2 => 'Penguins-768x576.jpg',
3 => 'Penguins-1024x768.jpg',
4 => 'Penguins-100x100.jpg',
)
Count: 5
Imploded: Penguins-150x150.jpg,Penguins-300x225.jpg,Penguins-768x576.jpg,Penguins-1024x768.jpg,Penguins-100x100.jpg