我正在使用这个 PHP 函数 $price = count(SellerProductId);
从输出中计算所有 SellerProductId
但我想忽略这个 [SellerProductId] => Array
例如在这个输出中,期望的结果是 1 而不是 2:
[RowId] => 0
[SellerProductId] => 1_SONJA-450445-40
[ShippingDateMax] => 2021-02-16T13:19:25.333
[ShippingDateMin] => 2021-02-16T13:19:25.333
[Sku] => MP18343394-0006
[RowId] => 1
[SellerProductId] => Array
(
)
[ShippingDateMax] => 0001-01-01T00:00:00
[ShippingDateMin] => 0001-01-01T00:00:00
[Sku] => INTERETBCA
我该怎么做?
谢谢
答案 0 :(得分:0)
您可以将所有 id
columns 读入一个数组,然后将其传递给 array_filter 以删除每个 falsy 条目以消除空数组。>
$a = [
['id' => '1'],
['id' => []],
];
var_dump(count($a)); // 2
var_dump(count(array_filter(array_column($a, 'id')))); // 1
工作example。
要查找所有出现的 "[SellerProductId] => Array"
,您可以使用 substr_count。
工作example。
如果文件太大而无法立即在 PHP 中读取,您将不得不分块读取(例如,逐行读取 -> fopen + fgets)。