在PHP中计算数组的总索引数
我有一个具有以下结构的数组:在PHP中计算数组的总索引数,php,arrays,Php,Arrays,我有一个具有以下结构的数组: Array ( [DigitalAssets] => Array ( [0] => Array ( [PartNumber] => 0276S-4 [Link] => https://1ddf4b1b856a39e33863-d785dc0e3b62b5e0ef07f55db00b0659.ssl.c
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,递归的,但是它不能返回正确的索引总数
只能指导那怎么做呢
谢谢如果您想计算DigitalAssets direct子项,您可以这样做
计数$array['DigitalAssets']
下面是一些测试计数应该如何工作
代码是:
$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
这意味着在我的案例模式中,taht在默认情况下被设置为0,所以我将只得到第一级计数。如果我将mode设置为1,我也将计算所有嵌套项。这应该能帮你把事情弄清楚。你到底想数多少?嵌套元素的数量,数字资产中的元素数量?您也可以使用foreach,这里有一个嵌套在数组中的数组。您的外部级别只有一个条目,即数字资产键下的条目。该键下的数组依次有多个条目,您可以通过简单的计数来计数……您只需要先移动到正确的级别。是的,我想计算DigitalAssets数组中的索引总数。@cbroe:您能提供一个示例吗?什么,仅仅是计数?这已经得到了回答。如果你只是想一直循环,那么你不需要先计算它们,你也可以使用foreach循环,正如奈杰尔已经说过的。总之,这是你应该从初学者教程中学习的东西,而不是在这里问。我想他说的foreach$array['DigitalAssets']是$value{$indexes+=count$value;}@Milan Rilex Ristic:当我回显$indexes时,它给出的结果是空的。我只想回显数组中总索引的计数;父母scope@MilanRilex Ristic:在您的代码的第一条注释中,我收到了结果4025,因为数组总共有804个索引。正如我在代码中提到的,每个索引有5个值。我需要显示结果804而不是4025。请在使用php手册中的count函数时尝试将seccond选项设置为0:如果可选模式参数设置为count\u RECURSIVE或1,count将递归地对数组进行计数。这对于计算多维数组的所有元素特别有用。