Como responder com JSON em PHP?

Código:

header('Content-Type: application/json');
$resultado = [
    'nome' => 'Maxters',
];
echo json_encode($resultado);

Resultado:

{"nome": "Maxters"}

Explicando o código

A função header é utilizada para definir um cabeçalho HTTP na resposta. No caso, para que o navegador entenda a resposta do servidor como JSON, é recomendável utilizar o Content-Type: application/json. Isso porque o PHP por padrão costuma enviar text/html.

A função json_encode serializa os dados da variável $resultado para o formato JSON. E, por sua vez, echo imprime a resposta.