要するに、category_id、product_id、およびアクティブなアクティビティタグからダウンロードしています。アイデアは、特定のcategory_idに割り当てられたすべての製品が0の値を持つように、エコー "空"を表示し、そうでない場合は "製品が含まれていますが、foreachループは代わりにプロダクトIDを通過し、empty + category_idを1回、 〜によって$ statusと表示されます。多くのエコー、アクティブなレコードの数。foreachでif結果を複製する
クエリは正常です - 私は配列に対して論理演算を実行すべきではないことを知っていますが、データベースは出力がないように構造化されています。
$result = array();
foreach ($products as $detail) {
$cid = $detail['category_id'];
$pid = $detail['product_id'];
$status = $detail['active'];
$result[$cid][$pid] = $status;
$multiplier = $result[$cid][$pid];
$counter = count($result[$cid]);
$multiplier2 = 1;
$multiplier = $multiplier * $multiplier2;
echo '$status: ' .$multiplier. " | ";
if ($multiplier == 0) {
echo '$cid: '.$cid.' | empty <br />';
} else {
echo '$cid: '.$cid.' | products contains <br />';
}
}
重複の原因が、私はこのコード
Array
(
[0] => Array
(
[product_id] => 1
[0] => 1
[category_id] => 221
[1] => 221
[active] => 0
[2] => 0
)
[1] => Array
(
[product_id] => 2
[0] => 2
[category_id] => 221
[1] => 221
[active] => 0
[2] => 0
)
)
$結果配列
Array
(
[221] => Array
(
[1] => 0
[2] => 0
)
)
@EDIT
現在、関数内のコードを変更する方法がわかりませんこのようなものを返します
そして、この配列に基づいて、それはのようなものでなければなりません - あなたは1437年には=> 1のでカテゴリは、あなたがしようとしているようですね
あなたは自分がやっていることと達成したいことを説明してください。現在出力されているデータとその外観を表示する – IsThisJavascript
私は十分な情報をいくつか追加しましたか? – sauero
現在の出力になるサンプル入力配列を提供できますか? – mickmackusa