I have array data that contain some values. I want to count particular key value.
My Array :
Array
(
[0] => stdClass Object
(
[id] => 3
[product_id] => 42
[user_id] => 69
[order_item_id] => 0
[sku_id] => 78
[rate] => 4 // count
[description] => Wonderful dress.
[is_certifiedbuyer] => 1
[status] => 1
[deleted] => 0
[created_at] => 2016-03-11 16:53:31
[updated_at] => 2016-03-11 16:53:31
[username] => Hiral
[productname] => Aish dress
)
[1] => stdClass Object
(
[id] => 4
[product_id] => 42
[user_id] => 12
[order_item_id] => 0
[sku_id] => 78
[rate] => 2
[description] => Greate dress.
[is_certifiedbuyer] => 1
[status] => 1
[deleted] => 0
[created_at] => 2016-03-11 16:53:31
[updated_at] => 2016-03-11 16:53:31
[username] => Admin
[productname] => Aish dress
)
)
From above array i want to count total 5 rated user, total 4 rated user, total 3 rated... etc
In short i want to count rate field from above array.
I have tried :
$reviews=$this->ProductReviewRepo->ProductReview(42);
$div1 = array_filter($reviews, function($review) {
return substr('4', $review->rate) !== false;
});
echo '<pre>';print_r(count($div1));
$div2 = array_filter($reviews, function($review) {
return substr('4', $review->rate) !== false;
});
echo '<pre>';print_r(count($div2));
$div3 = array_filter($reviews, function($review) {
return substr('3', $review->rate) !== false;
});
echo '<pre>';print_r(count($div3));
$div4 = array_filter($reviews, function($review) {
return substr('2', $review->rate) !== false;
});
echo '<pre>';print_r(count($div4));
$div5 = array_filter($reviews, function($review) {
return substr('1', $review->rate) !== false;
});
But i get an error of can count only string and integer value.