[PHP | Dúvida] - Qual é a maneira mais "adequada" para realizar essa alteração no array?.
Estava revendo algumas estuturas de dados básicas do PHP e fiquei com uma dúvida sobre qual maneira é mais "adequada".
Supondo que eu tenho um array que armazena dados sobre usuários e eu tivesse que alterar o valor de um índice específico, seria correto eu utilizar:
$users = [
[
'firstName' => 'Eric',
'lastName' => 'V. Henry',
'age' => 19
],
[
'firstName' => 'Gloria',
'lastName' => 'G. Carson',
'age' => 39
],
[
'firstName' => 'Esmeralda',
'lastName' => 'A. Gonzalez',
'age' => 76
]
];
//Esse é o trecho que achei duvidoso. Eu poderia utilizar o foreach, passando o elemento como referência, o que, aparentemente, facilita a alteração no valor de um índice?
Exemplo:
foreach ($users as &$user) // Esse é o trecho que tenho dúvida
{
if ($user['firstName'] == 'Esmeralda')
{
$user['firstName'] = 'Mariana';
$user['lastName'] = 'Oliveira';
$user['age'] = 25;
break;
}
}
//Ou a maneira mais adequada seria apontar para o primeiro array, percorrendo até chegar no índice que quero alterar?
Exemplo:
foreach ($users as $key => $user) // Mesmo trecho de outra maneira.
{
if ($user['firstName'] == 'Esmeralda')
{
$users[$key]['firstName'] = 'Mariana';
$users[$key]['lastName'] = 'Oliveira';
$users[$key]['age'] = 25;
break;
}
}
Eu achei a primeira solução mais "legível", mas não sei se é adequada. Poderiam me ajudar? OBS: estou querendo utilizar o foreach para simular uma busca, fingindo que não sei onde o elemento que eu quero alterar estará dentro do array.