Pergunta

Eu tenho duas matrizes. Um contém id=>count eo outro contém id=>name. Eu estou tentando produzir uma única matriz que é name=>count. Todas as sugestões sobre uma maneira simples de fazer isso?

Eu olhei os Funções para Array no Manual PHP e não vi nada que se destacou como fazer o que eu quero, então eu estou supondo que eu vou precisar de uma combinação de funções, mas eu estou tendo dificuldades para chegar com algo que não é complicado.

Foi útil?

Solução

Algo como:

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

Este assume que as chaves estão em correspondência entre as duas matrizes, uma vez que suas necessidades são ambíguos contrário.

Outras dicas

Use array_combine ...

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

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

Editar: Aqui está uma solução revisto para as novas exigências expressas no comentário nº 2

$assocArray = array();
foreach($namesArray as $id => $name) {
    $assocArray[$name] = (array_key_exists($id, $countArray)) ? $countArray[$id] : 0;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top