Possible Duplicate:
Search for PHP array element containing string
I’ve created a mysql query that pulls through several products, all with the following information:
Product ID
Product Name
Product Price
and
Product Category
Further down the page, I’ve looped through these with a foreach and a few ‘ifs’ so it only displays those products where the name contains ‘x’ in one div and displays those products where the name contains ‘y’ in another div.
I’m struggling to count how many products are going to be in each div before I do the loop.
So essentially, what I’m asking is:
How do you count all elements in an array that satisfy a certain condition?
Added Code which shows the loop:
<div id="a">
<?php
$i = 1;
foreach ($products AS $product) {
if (strpos($product->name,'X') !== false) {
=$product->name
}
$i++;
} ?>
</div>
<div id="b">
$i = 1;
foreach ($products AS $product) {
if (strpos($product->name,'Y') !== false) {
=$product->name
}
$i++;
} ?>
</div>
I’d like to know how many of these are going to be in here before I actually do the loop.
Well, without seeing the code, so generally speaking, if you’re going to split them anyway, you might as well do that up-front?
That being said: you should take notice of the comment which says “This is normally faster in SQL”, because it is the more sane approach if you want to filter the values.
EDIT: Changed the name of the variables to adapt the variable names in the example code.