I folgende Array bin die Schaffung dass alle Produkte und alle Kategorien enthält:foreach Schleife mehrdimensionales Array, sondern nur eine Schleife durch Array-Elemente mit spezifischen Schlüssel
$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 eine ganze Zahl ist und die Kategorie ist ein String)
dann will ich überprüfen, ob eine der Kategorien eines Produkts mit einer anderen variablen übereinstimmt und true zurück, wenn das der Fall ist:
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;
Aber ich Der Fehler bei einem bestimmten Schlüssel
Invalid argument für foreach geliefert()
ist es nicht möglich, eine Schleife nur durch Elemente eines Arrays bin immer?
Edit: Das Array wie folgt aussieht
Array
(
[10001] => Array //product_nr
(
[0] => 1 //category
[1] => 4 //category
)
[10002] => Array
(
[0] => 1
[1] => 20
)
//...
)
zu tun, was ist der Wert von '$ product_categories' und' $ ean'? –
Das Array ist leer oder existiert nicht. – Akintunde007
'$ product_categorie' ist eigentlich ein Array von Kategorien? Deine Benennung ist so verwirrend. Es enthält auch keine Sicherheitsnetze. Zum Beispiel, wenn ein Produkt keine Kategorie hat, erscheint es nicht im Array, obwohl ich erwarten würde, dass die Produkt-ID da wäre, aber der Inhalt ein leeres Array für die Kategorien ist. Und zu guter Letzt, haben Sie darüber nachgedacht, nur die Kategorien für das $ ean abzufragen, statt alle zu bekommen und sie dann in PHP-Code zu filtern? – GolezTrol