/ / obtém o primeiro elemento de uma matriz - php, matrizes

obter primeiro elemento de uma matriz - php, matrizes

Vamos supor, o valor de retorno de uma função de pesquisa é algo como isto

// If only one record is found
$value = [
"records" => [
"record" => ["some", "Important", "Information"]
]
]

// If multiple records are found
$value = [
"records" => [
"record" => [
0 => ["some", "important", "information"],
1 => ["some", "information", "I dont care"]
]
]
]

qual seria a melhor maneira de obter as informações importantes (no caso de vários registros, é sempre o primeiro)?

Devo verificar algo como

if (array_values($value["record"]["records"])[0] == 0){//do something};

Mas acho que há uma solução muito mais elegante.

Editar: E, aliás, essa não é uma duplicata da pergunta referida, que abrange apenas os vários registros.

Respostas:

0 para resposta № 1

Se você deseja o primeiro elemento de uma matriz, deve usar reset. Esta função define o ponteiro para o primeiro elemento e o retorna.

$firstValue = reset($value["record"]["records"]);

Editar .. depois de ler sua pergunta novamente, ao que parece, você não deseja o primeiro elemento. Você prefere isso

if (isset($value["record"]["records"][0]) && is_array($value["record"]["records"][0])) {
// multiple return values
} else {
// single return value
}

Fazer isso é um tipo de erro de erro e eu não sugeriria que uma função retorne tipos diferentes de estruturas de matriz.


0 para resposta № 2

verifique assim ..

if(is_array($value["records"]["record"][0])) {
// multiple records
} else {
// single record
}