Count Similar Array Keys

arrays, php, post

Solution

Well, if you know that every product will have a corresponding array key matching "productN", you could do this:

$productKeyCount = count(preg_grep("/^product(\d)+$/",array_keys($_POST)));

preg_grep() works well on arrays for that kind of thing.

Problem

I have a POST request coming to one of my pages, here is a small segment: ``` [shipCountry] => United States [status] => Accepted [sku1] => test [product1] => Test Product [quantity1] => 1 [price1] => 0.00 ``` This request can be any size, and each products name and quantity's key would come across as "productN" and "quantityN", where N is an integer, starting from 1. I would like to be able to count how many unique keys match the format above, which would give me a count of how many products were ordered (a number which is not explicitly given in the request). What's the best way to do this in PHP?

Original source