を持つ配列要素を通じてのみループ私はすべての製品とそのすべてのカテゴリが含まれている次の配列を作成しています:foreachループ多次元配列が、特定のキー
$result = $wpdb->get_results("SELECT product_nr, category FROM erp_product_categories",ARRAY_A);
$product_categories = array();
foreach($result as $row){
$product_categories[$row["product_nr"]][] = $row["category"];
}
(product_nrは整数とカテゴリは文字列です)
それから私は、製品のカテゴリのいずれかが他の変数と一致するかどうかを確認し、場合thatsの場合はtrueを返すようにしたい:
foreach($product_categories[$ean] as $product_categorie) {
$manages_post = in_array($product_categorie, $this->term_link_conditions);
if($manages_post == true){
break;
}
}
return $manages_post;
しかし、私)foreachのために供給されるエラー
無効な引数を(取得しています
は、それが唯一の特定のキーを持つ配列の要素をループすることはできませんか?
編集: 配列は、この
Array
(
[10001] => Array //product_nr
(
[0] => 1 //category
[1] => 4 //category
)
[10002] => Array
(
[0] => 1
[1] => 20
)
//...
)
'$のproduct_categories'と' $のean'の値が何であるかを行う方法を考え出しましたか? –
配列が空であるか、存在しないことを意味します。 – Akintunde007
'$ product_categorie'は実際にはカテゴリの配列ですか?あなたの命名はとても混乱しています。また、セーフティネットは含まれていません。たとえば、商品にカテゴリがない場合は、商品IDがあるとは思っても、配列には表示されませんが、コンテンツはカテゴリの空の配列になります。最後に、すべてを取得せずにPHPコードでフィルタリングする代わりに、 '$ ean'のカテゴリだけをクエリすることを検討しましたか? – GolezTrol