Eu tenho uma matriz existente à qual quero adicionar um valor.
Estou tentando conseguir isso array_push()
sem sucesso.
Abaixo está o meu código:
$data = array(
"dog" => "cat"
);
array_push($data['cat'], 'wagon');
O que eu quero alcançar é adicionar gato como uma chave ao $data
array com vagão como valor, para acessá-lo como no trecho abaixo:
echo $data['cat']; // the expected output is: wagon
Como posso conseguir isso?
$a['123'] = 456;
- a string '123' é convertida na chave inteira 123.Se você precisar adicionar várias chaves => valor, tente isso.
fonte
array_merge
.É tudo o que você precisa para adicionar a chave e o valor à matriz.
fonte
Por exemplo:
Para alterar o valor da chave:
Para adicionar um novo par de valores-chave:
fonte
Você não precisa usar a função array_push (), pode atribuir um novo valor com a nova chave diretamente à matriz, como ..
fonte
$array['color3']='green'
. Foi exatamente o que a @dusoft fez acima. Seu código é apenas uma ofuscação dessa solução.Matriz ['chave'] = valor;
Isto é o que você precisa. Não é necessário usar a função array_push () para isso. Algum tempo o problema é muito simples e pensamos de maneira complexa :).
fonte
Apenas faça isso:
* No php 7 e superior, o array está criando usando [], não ()
fonte
array_push
adiciona seus parâmetros 2ª + como novos valores (pares não chave-valor comoarray_merge
faz), e PHP 7 felizmente aceita aarray()
sintaxe de array (bem como a taquigrafia[]
sintaxe)