在 PHP 中计算数组的总索引

我有一个具有以下结构的数组:


    Array

    (

        [DigitalAssets] => Array

    (

        [0] => Array

            (

                [PartNumber] => 0276S-4

                [Link] => https://1ddf4b1b856a39e33863-d785dc0e3b62b5e0ef07f55db00b0659.ssl.cf2.rackcdn.com/Holley/0576s-4.jpg

                [AssetTypeCode] => P04

                [FileName] => 0576s-4.jpg

                [RecordModifiedDate] => 2020-05-13T18:59:10.28

            )


        [1] => Array

            (

                [PartNumber] => 0437S-4

                [Link] => https://1ddf4b1b856a39e33863-d785dc0e3b62b5e0ef07f55db00b0659.ssl.cf2.rackcdn.com/Holley/0437s-4.jpg

                [AssetTypeCode] => P04

                [FileName] => 0437s-4.jpg

                [RecordModifiedDate] => 2020-05-13T18:59:11.687

            )


        [2] => Array

            (

                [PartNumber] => 0574S-4

                [Link] => https://1ddf4b1b856a39e33863-d785dc0e3b62b5e0ef07f55db00b0659.ssl.cf2.rackcdn.com/Holley/0574s-4.jpg

                [AssetTypeCode] => P04

                [FileName] => 0574s-4.jpg

                [RecordModifiedDate] => 2020-05-13T18:59:12.593

            )

我想计算数组的总索引,以便相应地运行循环。我使用了 Count($array) 和 Count ($array,RECURSIVE) 但它无法返回正确的索引总数。


只能引导那个怎么办?


慕哥6287543
浏览 71回答 1
1回答

慕后森

如果你想计算DigitalAssets直接孩子你可以这样做 count($array['DigitalAssets'])这里有一些测试count应该如何工作。代码是:$test = array        (            'DigitalAssets' => array            (                0 => array(                    'PartNumber' => '0276S-4',                    'Link' => 'https://1ddf4b1b856a39e33863-d785dc0e3b62b5e0ef07f55db00b0659.ssl.cf2.rackcdn.com/Holley/0576s-4.jpg',                    'AssetTypeCode' => 'P04',                    'FileName' => '0576s-4.jpg',                    'RecordModifiedDate' => '2020-05-13T18:59:10.28'                ),                1 => array(                    'PartNumber' => '0437S-4',                    'Link' => 'https://1ddf4b1b856a39e33863-d785dc0e3b62b5e0ef07f55db00b0659.ssl.cf2.rackcdn.com/Holley/0437s-4.jpg',                    'AssetTypeCode' => 'P04',                    'FileName' => '0437s-4.jpg',                    'RecordModifiedDate' => '2020-05-13T18:59:11.687'                ),                2 => array                (                    'PartNumber' => '0574S-4',                    'Link' => 'https://1ddf4b1b856a39e33863-d785dc0e3b62b5e0ef07f55db00b0659.ssl.cf2.rackcdn.com/Holley/0574s-4.jpg',                    'AssetTypeCode' => 'P04',                    'FileName' => '0574s-4.jpg',                    'RecordModifiedDate' => '2020-05-13T18:59:12.593'                )            )        );        echo count($test['DigitalAssets'])." ".count($test['DigitalAssets'], 0)." ".count($test['DigitalAssets'], 1);        exit();结果在我的情况下: 3 3 18这意味着在我的例子中,mode默认情况下计数设置为 0,所以我将只计算第一级。如果我将模式设置为 1,我也会计算所有嵌套项目。这应该为您解决问题。
打开App,查看更多内容
随时随地看视频慕课网APP