Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从子阵列和计数中获取所有文件名?_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 如何从子阵列和计数中获取所有文件名?

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

我有一个名为$thumbs_meta的数组,我想从sizes子数组中获取所有文件名,这样我就可以对它们进行计数,并将它们粘合到一个逗号分隔的字符串中

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