Suchen Sie nach mehrdimensionalen Arrays für bestimmte Schlüssel und geben Sie ihre Daten aus - php, arrays, loops, multidimensional-array, foreach

Ich habe folgende Array-Konstruktion: $array[$certain_key][some_text_value]

Und in einer while-Schleife möchte ich die Daten aus dem Array drucken, wo $certain_key ist ein bestimmter Wert.

Ich weiß, wie man mehrdimensionale Arrays durchläuft, was nicht die vollständige Lösung für dieses Problem ist:

foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2n";
}
}

Ich möchte nicht jedes Mal das ganze Array durchlaufen, sondern nur wann $certain_key Ist abgestimmt.

BEARBEITEN: um genau zu sein, das ist was ich versuche zu tun:

$array[$array_key][some_text];

while reading from db {

//print array where a value returned from the db = $array_key

}

Antworten:

1 für die Antwort № 1
foreach ($array as $certain_key => $value) {
if($certain_key == $row["db_id"]) {
foreach ($value as $some_text_value) {
echo "$v2n";
}
}
}

2 für die Antwort № 2
while ($row = fetch()) {
if (isset($array[$row["db_id"]])) {
foreach ($array[$row["db_id"]] as $some_text_value => $some_text_values_value) {
echo ...
}
}
}

1 für die Antwort № 3

Du meinst wie

foreach($array[$certain_key] as $k => $v)
{
do_stuff();
}

?


0 für die Antwort № 4

Vielleicht suchst du array_key_exists? Es funktioniert so:

if(array_key_exists($certain_key, $array)) {
// do something
}

0 für die Antwort № 5
<?php

foreach ($a as $idx => $value) {
// replace [search_value] with whatever key you are looking for
if ("[search_value]" == $idx) {
// the key you are looking for is stored as $idx
// the row you are looking for is stored as $value
}
}

Verwandte Fragen