3 Stimmen

PHP-Frage zu mehrdimensionalen Arrays

Mein Array sieht folgendermaßen aus:

Array ( [Bob] => Red [Joe] => Blue )

Aber es könnte eine beliebige Anzahl von Personen sein, wie hier:

Array ( [Bob] => Red [Joe] => Blue [Sam] => Orange [Carla] => Yellow)

Grundsätzlich möchte ich PHP, um dieses Array zu nehmen und Echo es so, dass es aussieht wie:

Bob - Red
Joe - Blue
Sam - Orange
Carla - Yellow

Ich weiß, dass ich das Array in einer Schleife durchlaufen muss, das habe ich versucht:

for ($row = 0; $row < count($array); $row++) {
echo $array[0] . " - " . $array[1];
}

Ich erhalte den folgenden Fehler: Undefinierter Versatz: 0, Undefinierter Versatz: 1

Ich erkenne, dass dies nicht funktioniert, weil ich versuche, Indexe zu verwenden, wenn die Werte des Arrays Zeichenketten sind. Gibt es eine Möglichkeit, wie ich positionale Indizes wie diese mit einem mehrdimensionalen Array verwenden kann, die nur Zeichenfolgen enthält?

Gracias

1 Stimmen

Ich glaube, das ist ein assoziatives Array, nicht multidimensional...

8voto

alex Punkte 457905

Was Sie wollen, ist eine foreach Schleife.

foreach ($array as $key => $value) {
    echo $key . ' - ' . $value;
}

(wenn Sie einen Zeilenumbruch wünschen, fügen Sie "\n" bis zum Ende)

Ihr Array ist eigentlich nicht multidimensional . Ein Beispiel dafür wäre

array(
    array(
        'bob',
        'tom'
    )
);

Beachten Sie das Array innerhalb das Array.

Ihr Array wird im Allgemeinen als assoziativ Array.

2voto

David Thomas Punkte 239063

Ohne meine php-Kenntnisse noch einmal zu überprüfen:

foreach($array as $key => $value) {
    echo "$key - $value<br />\n";
}

1voto

Garis M Suero Punkte 7802

Sie brauchen eine foreach

<?php 
$arr = array("bob" => "red", "paul" => "blue", "preo" => "yellow", "garis" => "orange");
foreach ($arr as $key => $value) {
    echo $key ." - ".$value."<br />";
}
?>

Wird gedruckt:

bob - red
paul - blue
preo - yellow
garis - orange

Übrigens, es ist ein associative Array, nicht ein multidimensional eine, die eher so etwas wie eine ist:

$array[1][0][3]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X