em cada variavel do list, conforme exemplo:$array = array('x' => 123, 'y' => 456, 'z' => 789);list('z' => $a, 'x' => $b) = $array;echo $a; // Mostra 789echo $b; // Mostra 123Observe que no caso de arrays associativos, apenas as chaves desejadas do array sao especificadas no list, e que a ordem com que sao capturados nao e necessariamente a ordem em que se encontram os dados no array.A segunda melhoria do list no PHP 7.1 e a sua sintaxe alternativa, utilizando apenas colchetes ao inves de list(). O PHP passa a reconhecer colchetes do lado esquerdo de uma atribuicao como sendo uma chamada ao list, conforme exemplo:$array = array(123, 456, 789);[$a, $b, $c] = $array;echo $a; // Mostra 123echo $b; // Mostra 456echo $c; // Mostra 789Esta notacao simplificada tambem segue as mesmas regras do list convencional, ou seja, tambem e possivel omitir variaveis para ignora-las e e possivel utilizar as chaves para obter dados de arrays associativos.Acesso a indices negativos de stringsAlgumas funcoes que manipulam strings utilizam indices negativos para se referir ao indice contado a partir do final da string. Por exemplo, substr($a, -1) devolve o valor do ultimo caractere da string (ou false caso seja uma string vazia). Porem, existem varias situacoes em que seria util utilizar o indice negativo, mas o PHP nao provia esse comportamento.Porem, no PHP 7.1 foram expandidos os pontos da linguagem em que se pode utilizar os indices negativos (e que faca sentido utiliza-lo).O caso mais simples e o acesso a um caractere da string, conforme exemplo:$string = 'abcd';$ultimo = $string[-1]; // obtem o ultimo caractere da string (d)$penultimo = $string[-2]; // obtem o penultimo caractere da string (c)Veja como seriam estes exemplos antes do PHP 7.1:$string = 'abcd';$ultimo = $string[strlen($string) - 1];$penultimo = $string[strlen($string) - 2];// OU assim$ultimo = substr($string, -1, 1);$penultimo = substr($string, -2, 1);Alem deste caso, as seguintes funcoes foram ajustadas para aceitarem indices negativos: strpos, stripos, substr_count, iconv_strpos, file_get_contents, mb_strimwidth, mb_strpos, mb_stripos, entre outras.Visibilidade de constantesConstantes de classes fazem parte do PHP ha muito tempo, porem, sempre que elas eram definidas tinham a visibilidade publica. A partir do PHP 7.1 passa a ser possivel especificar a visibilidade de cada constante (public, protected ou private) e, caso seja omitida, a visibilidade e public. Veja o exemplo:class Exemplo { public const TESTE = 1; protected const OUTRO = 2; private const ULTIMO = 3;}Constantes privadas caracteriza um importante instrumento para melhorar a legibilidade interna de uma classe, mas que nao tem utilidade fora dela.Multiplo catchNo artigo Try Catch Finally em PHP foi apresentado o conceito e utilizacao de exceptions no PHP. Nele, vimos que um catch especificava apenas um tipo especifico de exception.Porem, e comum encontrar codigo PHP em que dois ou mais tipos de exception vao ser tratados de forma identica e era necessario replicar o mesmo codigo em cada catch desta forma:try { ...} catch (RuntimeException $e) { gerar_log($e->getMessage());} catch (PDOException $e) { gerar_log($e->getMessage());} catch (Exception $e) { ...}Note que tanto o catch do tipo RuntimeException quanto do tipo PDOException fazem o mesmo tratamento (codigo duplicado).A partir do PHP