baixo. A partir do PHP 7, existe a funcao inddiv que retorna justamente o resultado inteiro de uma divisao:$resultadoFloat = 7 / 2; // 3.5$resultadoInt = intdiv(7, 2); // 3$resto = 7 % 2; // 1Mudancas em SessionsAgora a funcao session_start aceita um array associativo de opcoes, que sobrescrevem as configuracoes de sessao convencionais (definidas no arquivo php.ini ou via ini_set, por exemplo).Alem disso, foi criada uma nova diretiva de configuracao chamada "session.lazy_write", que fica habilitada por padrao. O que ela faz e realizar a gravacao dos dados de sessao apenas se ele sofreu alguma alteracao. Isso tende a tornar a execucao mais rapida.Funcao preg_replace_callback_arrayNo PHP 7 foi criada uma nova funcao preg_replace_callback_array, que e similar a funcao preg_replace_callback, porem recebe um array associativo com as expressoes regulares como chave apontando para funcoes anonimas usadas como callback para a expressao correspondente. Veja o exemplo:$resultado = preg_replace_callback_array( [ '/([a-z]+)/i' => function($matches) { return strtoupper($matches[1]); }, '/\s+/' => function($matches) { return ' '; } ], "Meu texto");Este codigo vai converter para maiusculas as capturas contendo letras, e vai converter para um espaco as ocorrencias de varios espacos consecutivos. Isso ira resultar em "MEU TEXTO"Funcao get_resourcesNo PHP 7 foi criada uma nova funcao get_resources, que devolve um array com todos os resources abertos em determinado momento. Ela tambem pode receber um parametro para obter apenas os resources de determinado tipo.Melhorias em ReflectionNo PHP 7 foram criadas duas novas classes: ReflectionGenerator e ReflectionType. A primeira faz reflexao sobre generators e a segunda faz a reflexao sobre tipos dos parametros de funcoes/metodos (obtida via ReflectionParameter::getType) ou tipos do retorno de funcoes/metodos (obtida via ReflectionFunctionAbstract::getReturnType).list aceitando objetos ArrayAccessNo artigo As interfaces Iterator, ArrayAccess e Countable do PHP vimos que e possivel criar uma classe que simula os comportamentos de um array convencional do PHP. Porem, implementar a interface ArrayAccess nem sempre era o suficiente para que instrucoes envolvendo atribuicoes com list funcionassem com este objeto assim como ocorre com arrays.A partir do PHP 7, isso foi resolvido. Agora objetos que implementam a interface ArrayAccess estao automaticamente aptos para serem usados em uma atribuicao envolvendo list como neste exemplo:$obj = new ArrayObject([1, 2, 3]);list($a, $b, $c) = $obj;var_dump($a, $b, $c);Mudancas em algumas funcoesNo PHP 7, algumas funcoes passaram por mudancas. As mais relevantes sao:dirnameAgora a funcao dirname (que devolve o nome de um diretorio a partir de um nome de arquivo) tambem aceita um segundo parametro indicando a profundidade de diretorios a subir na arvore de diretorios. Ou seja, ficou mais simples fazer coisas assim>// Antes do PHP 7$dir = dirname(dirname(__FILE__));// A partir do PHP 7$dir = dirname(__FILE__, 2);preg_replaceA funcao preg_replace nao aceita mais a opcao depreciada \e, por questoes de seguranca. Agora e preciso usar preg_replace_callback (ou a nova preg_replace_callback_array) no lugar.setlocaleA funcao setlocale (discutida no artigo Trabalhando de acordo com a Localidade em PHP) nao aceita mais o primeiro parametro na forma de string. O primeiro parametro e a categoria de localidade que sera aplicada (por exemplo LC_NUMERIC para afetar notacoes de numeros). Antes o PHP permitia receber o nome da constante LC_... (na forma de string)