Avatar ·

Como verificar se um array em PHP é associativo ou sequencial (indexado)?

Olá, colegas! Estou escrevendo em PHP há alguns meses e frequentemente enfrento o problema: preciso entender se um array é uma lista comum (com chaves numéricas 0, 1, 2...) ou associativo (com chaves string, como 'name', 'age'). Isso é necessário para processar dados corretamente, por exemplo, ao converter para JSON ou ao passar para uma função que espera um formato específico. Aqui está um exemplo. Tenho uma função que recebe um array e deve trabalhar com ele de forma diferente: ```php function processData($data) { // Se o array for sequencial — percorremos os elementos como uma lista // Se for associativo — trabalhamos com as chaves // Como verificar isso dentro da função? } ``` Tentei verificar com `array_keys()`, mas parece um hack. Também li sobre `is_numeric()`, mas não tenho certeza se é confiável. Alguns falam sobre `array_values()`, outros sobre `range()`. Por favor, me digam a maneira mais correta e performática de verificar se um array é associativo.