为了账号安全,请及时绑定邮箱和手机立即绑定

在 PHP 中计算数组的总索引

在 PHP 中计算数组的总索引

PHP
慕哥6287543 2023-04-02 10:28:56
我有一个具有以下结构的数组:    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) 但它无法返回正确的索引总数。只能引导那个怎么办?
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

如果你想计算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,我也会计算所有嵌套项目。这应该为您解决问题。


查看完整回答
反对 回复 2023-04-02
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信