In PHP, come posso trovare il valore associato a una chiave specifica?
-
06-07-2019 - |
Domanda
Ho due array. Uno contiene id = > count
e l'altro contiene id = > name
. Sto cercando di produrre un singolo array che è name = > count
. Qualche suggerimento su un modo semplice per farlo?
Ho esaminato le Funzioni di array nel Manuale PHP e non ho visto nulla di eccezionale nel fare ciò che voglio, quindi immagino che avrò bisogno di una combinazione di funzioni, ma ho problemi a trovare qualcosa che non sia contorto.
Soluzione
Qualcosa del tipo:
foreach($countA as $id => $count)
{
$newArray[$nameA[$id]] = $count;
}
Ciò presuppone che le chiavi siano in corrispondenza tra le due matrici, poiché altrimenti le vostre esigenze sono ambigue.
Altri suggerimenti
Usa array_combine ...
$countArray = array(0 => 1, 1 => 5);
$namesArray = array(0 => "Bob", 1 => "Alice");
$assocArray = array_combine($namesArray, $countArray);
Modifica: Ecco una soluzione rivista per i nuovi requisiti espressi nel commento n. 2
$assocArray = array();
foreach($namesArray as $id => $name) {
$assocArray[$name] = (array_key_exists($id, $countArray)) ? $countArray[$id] : 0;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow