簡體   English   中英

計算 PHP 中數組的總索引

[英]Count Total Indexes of Array in 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) 但它無法返回正確的索引總數。

只能指導一下如何做到這一點?

謝謝

如果要計算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,我也會計算所有嵌套項目。 這應該為您解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM