Note that using Incrementing/Decrementing operators on string is legal 
<?php
$str = "";
echo ++$str; // output: 1
?>
   数値形式ではない文字列を使って、数値を期待する演算
   (+ - * 
   / ** %
   << >> |
   & ^ や、これらを用いた代入演算)
   を行おうとしたときに、
   E_WARNING あるいは E_NOTICE
   レベルのエラーが発生するようになりました。
   E_NOTICE が発生するのは、文字列が数値で始まっていながら非数値で終わる場合で、
   E_WARNING が発生するのは文字列中に数値が含まれない場合です。
  
<?php
'1b' + 'something';上の例の出力は以下となります。
Notice: A non well formed numeric value encountered in %s on line %d Warning: A non-numeric value encountered in %s on line %d
   これまでのバージョンでは、八進表記のエスケープシーケンスがオーバーフローを起こしても、
   警告は発生しませんでした。
   PHP 7.1 以降では、この場合に E_WARNING が発生するようになりました
   (オーバーフローを起こした場合の振る舞いは、これまでのバージョンと変わりません)。
  
<?php
var_dump("\500");上の例の出力は以下となります。
Warning: Octal escape sequence overflow \500 is greater than \377 in %s on line %d string(1) "@"
$this の矛盾の修正
   PHP において $this は特別な変数という扱いですが、
   これが他の場所で変数名として使われていたり再代入されていたりしないことを、
   きちんとチェックできていませんでした。
   これを修正してきちんとチェックするようになったので、
   $this をユーザー定義の変数名として使ったり他の値を再代入したり、
   グローバル変数にしたりすることはできなくなりました。
  
セッション ID の生成時にハッシュされないようになりました。 この変更に伴い、以下の INI 項目が削除されました。
session.entropy_file
    
   session.entropy_length
    
   session.hash_function
    
   session.hash_bits_per_character
    
   また、以下のふたつの INI 項目が新たに追加されました。
session.sid_length -
     セッション ID の長さを指定します。デフォルトは 32 文字で、
     これは過去のバージョンとの互換性を考慮したものです。
    
   session.sid_bits_per_character -
     一文字あたりに格納するビット数を指定します
     (つまり、これを増やすとセッション ID に使える文字の範囲が拡大します)。
     デフォルトは 4 で、これは過去のバージョンとの互換性を考慮したものです。
    
   precisionこの値を -1 に設定すると、dtoa モードの 0 が使われます。 デフォルト値は 14 のままです。
serialize_precisionこの値を -1 に設定すると、dtoa モードの 0 が使われます。 デフォルト値は -1 になりました。
gd.jpeg_ignore_warningこの php.ini 設定のデフォルト値は 1 になりました。 よって、デフォルトでは libjpeg の警告は無視されます。
opcache.enable_cliこの php.ini 設定のデフォルト値は、PHP 7.1.2 で 1 (有効) に変更され、 PHP 7.1.7 で 0 (無効) に戻されました。
セッションID は、CSPRNG のみから生成されるようになりました。
