Chaves e valores
Um array PHP é um mapa ordenado: pode representar uma sequência ou associar chaves a valores. Define quais as chaves esperadas e distingue uma chave ausente de uma chave presente com valor null. isset devolve false também quando o valor é null.
Separar cálculo e efeitos
Uma função que calcula um total pode devolver o valor sem gravar numa base de dados. Outra camada decide quando persistir. Esta separação torna o comportamento mais previsível e permite reutilizar a lógica numa página, numa API ou numa tarefa agendada.
Aplicação guiada no trabalho
Numa atualização parcial de ticket, o contrato pode definir que owner ausente mantém o responsável e owner=null o remove. Usa array_key_exists para saber se a chave foi enviada e só depois valida o valor e a permissão. isset e ?? tratam null como ausência para os seus fins e podem apagar essa distinção se usados demasiado cedo. Um array é um mapa ordenado, com uma associação por chave; atribuir outra vez a mesma chave substitui o valor. Algumas strings numéricas, como "8", convertem-se para chaves inteiras e podem colidir com 8. Não uses essa conversão implicitamente como regra de identidade de negócio. Ao organizar funções, devolve resultados de cálculo e deixa notificações e persistência numa camada explícita.
$task = ["owner" => null, "status" => "open"];
$exists = array_key_exists("owner", $task); // true
$isSet = isset($task["owner"]); // falseNuma atualização parcial, não enviar o campo responsável pode significar manter o valor atual; enviar null pode significar removê-lo. O contrato da API deve distinguir estes casos.
Armadilhas comuns
Confundir ausência com null; perder intenção com ??; ignorar conversão de chaves numéricas.
Tópicos relacionados: Dados com parâmetros · Segurança na fronteira web
A ausência de uma chave e um valor null podem representar intenções diferentes.
Referência: PHP manual: Arrays · PHP 8.5 reference; DR PHP 2026.3; new fixtures executed on PHP 8.4.4 / SQLite 3.51.2