Pregunta

Tengo dos matrices. Uno contiene id = > count y el otro contiene id = > name . Estoy tratando de producir una sola matriz que es name = > count . ¿Alguna sugerencia sobre una manera sencilla de hacer esto?

He mirado las Funciones de matriz en el Manual PHP y no vi nada que destacara como hacer lo que quiero, así que supongo que necesitaré una combinación de funciones, pero tengo problemas para encontrar algo que no sea complicado.

¿Fue útil?

Solución

Algo así como:

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

Esto supone que las claves están en correspondencia entre las dos matrices, ya que sus requisitos son ambiguos de lo contrario.

Otros consejos

Utilice array_combine ...

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

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

Editar: Aquí hay una solución revisada para los nuevos requisitos expresados ??en el comentario # 2

$assocArray = array();
foreach($namesArray as $id => $name) {
    $assocArray[$name] = (array_key_exists($id, $countArray)) ? $countArray[$id] : 0;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top