Executando verificação de segurança...
1

[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.

Carregando publicação patrocinada...
2

Não sei se faz tanta diferente. Eu costumo dizer: "é PHP, não importa muito", importaria se não desse o resultado.

Outra questão é que algo pode ser bom para este caso, mas se mudar alguma coisa pode não ser mais.

De fato eu gosto mais do primeiro, mas sei que em PHP as pessoas costumam fazer mais o segundo.

Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).