Frage

Ich habe zwei Arrays. Eine enthält id=>count und die andere enthält id=>name. Ich versuche, ein einzelnes Array zu erzeugen, die name=>count ist. Irgendwelche Vorschläge auf eine einfache Art und Weise, dies zu tun?

Ich habe an den Array-Funktionen in PHP Manual und hat nichts gesehen, das stand als zu tun, was ich will, so vermute ich, ich werde eine Kombination von Funktionen benötigen, aber ich habe Probleme kommen mit etwas, das nicht gefaltet ist.

War es hilfreich?

Lösung

So etwas wie:

foreach($countA as $id => $count)
{
    $newArray[$nameA[$id]] = $count;
}

Dies ist davon ausgehen, dass die Schlüssel in Übereinstimmung zwischen den beiden Feldern sind, da Ihre Anforderungen sonst nicht eindeutig sind.

Andere Tipps

Verwenden Sie array_combine ...

$countArray = array(0 => 1, 1 => 5);
$namesArray = array(0 => "Bob", 1 => "Alice");

$assocArray = array_combine($namesArray, $countArray);

Edit: Hier ist eine überarbeitete Lösung für die neuen Anforderungen in Kommentar # 2 ausgedrückt

$assocArray = array();
foreach($namesArray as $id => $name) {
    $assocArray[$name] = (array_key_exists($id, $countArray)) ? $countArray[$id] : 0;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top