Como posso obter com PHP a maior chave / índice em uma matriz? Eu sei fazer isso pelos valores.
Por exemplo, desta matriz, gostaria de obter "10" como um valor inteiro:
$arr = array( 1 => "A", 10 => "B", 5 => "C" );
Eu sei como poderia programar, mas estava me perguntando se havia uma função para isso também.
max
:If an empty array is passed, then FALSE will be returned and an E_WARNING error will be emitted.
Você pode obter a chave máxima desta forma:
fonte
deve imprimir "10"
fonte
Tive uma situação em que precisava obter a próxima chave disponível em uma matriz, que é o + 1 mais alto.
Por exemplo, se a matriz é $ data = ['1' => 'alguma coisa, '34' => 'outra coisa'], então eu precisava calcular 35 para adicionar um novo elemento à matriz que tinha uma chave maior do que qualquer dos outros. No caso de um array vazio, eu precisava de 1 como próxima chave disponível.
Esta é a solução que funcionou:
Funcionará em todos os casos, matriz vazia ou não. Se você só precisa encontrar a chave mais alta em vez da chave mais alta + 1, exclua a última linha. Você obterá o valor 0 se a matriz estiver vazia.
fonte
Experimente max (): http://php.net/manual/en/function.max.php Veja o primeiro comentário nessa página
fonte