PHP 8.1 เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเตเดŸเต† เดชเตเดฐเด•เดพเดถเดจเด‚

เด’เดฐเต เดตเตผเดทเดคเตเดคเต† เดตเดฟเด•เดธเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚, PHP 8.1 เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเตเดŸเต† เดชเตเดฐเด•เดพเดถเดจเด‚ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต. เดชเตเดคเดฟเดฏ เดฌเตเดฐเดพเดžเตเดšเดฟเตฝ เดชเตเดคเดฟเดฏ เดซเต€เดšเตเดšเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดชเดฐเดฎเตเดชเดฐเดฏเตเด‚ เด’เดชเตเดชเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดคเดฏเต† เดคเด•เตผเด•เตเด•เตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

PHP 8.1-เดฒเต† เดชเตเดฐเดงเดพเดจ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ:

  • เด•เดฃเด•เตเด•เตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเตผเดฎเตเดฎเดพเดฃเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚: enum เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต {เด•เต‡เดธเต เดคเต€เตผเดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ; เด•เต‡เดธเต เดธเดœเต€เดตเด‚; เด•เต‡เดธเต เด†เตผเด•เตเด•เตˆเดตเต เดšเต†เดฏเตเดคเต; } เด•เตเดฒเดพเดธเต เดชเต‹เดธเตเดฑเตเดฑเต {เดชเดฌเตเดฒเดฟเด•เต เดซเด‚เด—เตโ€Œเดทเตป __เด•เตบเดธเตโ€ŒเดŸเตเดฐเด•เตโ€Œเดฑเตเดฑเต (เดธเตเดตเด•เดพเดฐเตเดฏ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต $ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต = เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต:: เดคเต€เตผเดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดคเตเดคเดคเต; ) {} เดชเดฌเตเดฒเดฟเด•เต เดซเด‚เด—เตโ€Œเดทเตป เดธเต†เดฑเตเดฑเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต (เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต $ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต): เด…เดธเดพเดงเตเดตเดพเดฏ { // โ€ฆ }} $เดชเต‹เดธเตเดฑเตเดฑเต->เดธเต†เดฑเตเดฑเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต (เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต:: เด†เด•เตเดฑเตเดฑเต€เดตเต);
  • เดซเตˆเดฌเดฑเตเด•เตพ เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เดญเดพเดฐเด‚ เด•เตเดฑเดžเตเดž เดคเตเดฐเต†เดกเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต, เด‡เดคเต เด•เตเดฑเดžเตเดž เดคเดฒเดคเตเดคเดฟเตฝ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดคเตเดฐเต†เดกเตเด•เตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. Amphp, ReactPHP เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดซเตˆเดฌเตผ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเด•เตเด•เดพเตป เดชเดฆเตเดงเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต. $fiber = เดชเตเดคเดฟเดฏ เดซเตˆเดฌเตผ(เดซเด‚เด—เตเดทเตป (): void {$valueAfterResuming = Fiber ::suspend('suspend'); // ...}); $valueAfterSuspending = $fiber->start(); $fiber->เดฑเต†เดธเตเดฏเต‚เด‚('เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚');
  • เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เด•เต‹เดกเต เด•เดพเดทเต† (เด’เดชเตโ€Œเด•เดพเดทเต†) เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ, เด‡เดคเต เด•เตเดฒเดพเดธเต เดชเดพเดฐเดฎเตเดชเดฐเตเดฏเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดพเดทเต† เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต. เดšเดฟเดฒ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดชเตเดฐเด•เดŸเดจเด‚ 5-8% เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเตป เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เดฟ. เดฎเดฑเตเดฑเต เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเดจเตเด•เดณเดฟเตฝ JIT เด“เดชเตเดชเดฑเต‡เดทเดจเตเดฑเต† เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเดจเตเด•เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, ARM64 เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดจเตเดณเตเดณ JIT เดชเดฟเดจเตเดคเตเดฃ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ (AArch64), เดจเต†เดฏเดฟเด‚ เดฑเต†เดธเดฒเต‚เดทเตป เดคเตเดตเดฐเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ, เดŸเตˆเด‚เดฒเดฟเดฌเต, เดŽเด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเต/เดกเต‡เดฑเตเดฑเต เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเดŸเต† เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเตป, เดตเตผเดฆเตเดงเดฟเดšเตเดš เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเตเด‚ เดกเดฟเดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดชเตเดฐเด•เดŸเดจเดตเตเด‚, get_declared_classes (), explode() , strtr() เดซเด‚เด—เตเดทเตป, strnatcmp(), dechex(). เดชเตŠเดคเตเดตเต‡, เดธเดฟเด‚เดซเต‹เดฃเดฟ เดกเต†เดฎเต‹เดฏเตเดŸเต† เดชเตเดฐเด•เดŸเดจเดคเตเดคเดฟเตฝ 23.0% เดตเตผเดฆเตเดงเดจเดตเตเด‚ เดตเต‡เตผเดกเตเดชเตเดฐเดธเดฟเดจเต 3.5% เด‰เด‚ เด‰เดฃเตเดŸเต.
  • เด’เดฐเต เดชเตเดคเดฟเดฏ เด…เดฑเต‡ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เด…เดฑเต‡เด•เตพ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ "...$var" เด…เดฑเต‡เด•เตพเด•เตเด•เตเดณเตเดณเดฟเดฒเต† เด…เตบเดชเดพเด•เตเด•เดฟเด‚เด—เต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ, เดชเดฟเดจเตเดคเตเดฃ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด•เต€เด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต (เดฎเตเดฎเตเดชเต เดกเดฟเดœเดฟเดฑเตเดฑเตฝ เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเตเด•เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเดฟเดจเตเดคเตเดฃเดšเตเดšเดฟเดฐเตเดจเตเดจเตเดณเตเดณเต‚). เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เตพ เด•เต‹เดกเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚: $array1 = [โ€œaโ€ => 1]; $array2 = ["b" => 2]; $array = [โ€œaโ€ => 0, โ€ฆ$array1, โ€ฆ$array2]; var_dump ($ เด…เดฑเต‡); // ["a" => 1, "b" => 2]
  • เด’เดฐเต เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฏเดฟ เดซเด‚เด—เตโ€Œเดทเตป เดจเดฟเตผเดตเดšเดจเด™เตเด™เดณเดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเต เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตเด•เดณเดฟเตฝ เดชเต‹เดฒเต†, เด‡เดจเดฟเดทเตเดฏเดฒเตˆเดธเดฑเตเด•เดณเดฟเตฝ "เดชเตเดคเดฟเดฏ" เด•เต€เดตเต‡เดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด‡เดคเต เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด•เตเดฒเดพเดธเต เดฎเตˆเด•เตบเดŸเตเดฐเต‹เดณเตผ {เดชเตŠเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ __เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเต(เดธเตเดตเด•เดพเดฐเตเดฏ เดฒเต‹เด—เตผ $logger = เดชเตเดคเดฟเดฏ NullLogger(), ) {}}
  • เดฑเต€เดกเต-เด’เตบเดฒเดฟ เด†เด•เตโ€Œเดธเดธเดฟเดจเดพเดฏเดฟ เด•เตเดฒเดพเดธเต เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟเด•เตพ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต (เด…เดคเตเดคเดฐเด‚ เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟเด•เดณเดฟเดฒเต† เดตเดฟเดตเดฐเด™เตเด™เตพ เด’เดฐเต เดคเดตเดฃ เดฎเดพเดคเตเดฐเดฎเต‡ เดŽเดดเตเดคเดพเตป เด•เดดเดฟเดฏเต‚, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด…เดคเต เดฎเดพเดฑเตเดฑเดคเตเดคเดฟเดจเต เดฒเดญเตเดฏเดฎเดพเด•เดฟเดฒเตเดฒ). เด•เตเดฒเดพเดธเต เดชเต‹เดธเตเดฑเตเดฑเตเดกเดพเดฑเตเดฑ {เดชเดฌเตเดฒเดฟเด•เต เดซเด‚เด—เตเดทเตป __เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเต (เดชเดฌเตเดฒเดฟเด•เต เดฑเต€เดกเตบเดฒเดฟ เดธเตเดŸเตเดฐเดฟเด‚เด—เต $ เดถเต€เตผเดทเด•เด‚, เดชเดฌเตเดฒเดฟเด•เต เดฑเต€เดกเตบเดฒเดฟ เดกเต‡เดฑเตเดฑเตเดŸเตˆเด‚เด‡เดฎเตเดฎเตเดฏเต‚เดŸเตเดŸเดฌเดฟเตพ $ เดคเต€เดฏเดคเดฟ, ) {}} $post = เดชเตเดคเดฟเดฏ เดชเต‹เดธเตเดฑเตเดฑเต ('เดถเต€เตผเดทเด•เด‚', /* โ€ฆ */); $post->title = 'เดฎเดฑเตเดฑเตเดณเตเดณเดต'; > เดชเดฟเดถเด•เต: เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดฎเดพเดคเตเดฐเดฎเตเดณเตเดณ เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟ เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดชเต‹เดธเตเดฑเตเดฑเต::$title
  • เดตเดฟเดณเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เดชเตเดคเดฟเดฏ เดตเดพเด•เตเดฏเด˜เดŸเดจ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ - เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเตป เดตเดฟเดณเดฟเดšเตเดšเต เด…เดคเดฟเดจเต† "..." เดŽเดจเตเดจ เดฎเต‚เดฒเตเดฏเด‚ เด’เดฐเต เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ (เด…เดคเดพเดฏเดคเต MyFunc(...) เด•เตเดฒเต‹เดทเตผ::fromCallable('myFunc) เดŽเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚ เดจเตฝเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเต เด‡เดชเตเดชเต‹เตพ เด’เดฐเต เด•เตเดฒเต‹เดทเตผ เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚. ')): เดซเด‚เด—เตเดทเตป foo (int $a, int $b) { /* โ€ฆ */} $foo = foo(...); $foo(a: 1, b: 2);
  • เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต เดชเตเดคเดฟเดฏ เดคเดฐเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด‡เดจเตเดฑเตผเดธเต†เด•เตเดทเตป เดคเดฐเด™เตเด™เตพเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต. เดฐเดฃเตเดŸเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เดคเดฐเด™เตเด™เดณเตเดŸเต† เดถเต‡เด–เดฐเด™เตเด™เดณเต† เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจ เดฏเต‚เดฃเดฟเดฏเตป เดคเดฐเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เด‡เดจเตเดฑเตผเดธเต†เด•เตเดทเตป เดคเดฐเด™เตเด™เตพเด•เตเด•เต เดฒเดฟเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดค เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเด™เตเด™เดณเตเดŸเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดธเต†เดฑเตเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดคเดฐเด™เตเด™เดณเตเด‚ เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดซเด‚เด—เตเดทเตป เดœเดจเดฑเต‡เดฑเตเดฑเตเดธเตเดฒเด—เต(HasTitle&HasId $post) { return strtolower($post->getTitle()) . $post->getId(); }
  • เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเตป เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดทเตป เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเตเด•เดณเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด’เดฐเต เดชเตเดคเดฟเดฏ เดคเดฐเด‚ "เด’เดฐเดฟเด•เตเด•เดฒเตเด‚" เด‰เดฃเตเดŸเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เด’เดฐเต เด’เดดเดฟเดตเดพเด•เตเด•เตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเด•เตโ€Œเดธเดฟเดฑเตเดฑเต เดซเด‚เด—เตโ€Œเดทเตป เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†. เดซเด‚เด—เตโ€Œเดทเตป dd(เดฎเดฟเด•เตโ€Œเดธเตเดกเต $เด‡เตปเดชเตเดŸเตเดŸเต): เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ {เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เดฐเตเดคเต; }
  • 0: $list = [โ€œaโ€, โ€œbโ€, โ€œcโ€] เดŽเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจ เดธเด‚เด–เตเดฏเดพ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเดพเดฃเต เด…เดฑเต‡เดฏเดฟเดฒเต† เด•เต€เด•เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดคเดฟเดฏ เดซเด‚เด—เตเดทเตป array_is_list เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต; array_is_list($list); // true $notAList = [1 => โ€œaโ€, 2 => โ€œbโ€, 3 => โ€œcโ€]; array_is_list($notAList); // เดคเต†เดฑเตเดฑเต $alsoNotAList = ["a" => "a", "b" => "b", "c" => "c"]; array_is_list($alsoNotAList); // เดคเต†เดฑเตเดฑเดพเดฏ
  • เดชเดพเดฐเดจเตเดฑเต เด•เตเดฒเดพเดธเต เดธเตเดฅเดฟเดฐเดพเด™เตเด•เด™เตเด™เตพ เด…เดธเดพเดงเตเดตเดพเด•เตเด•เตเดจเตเดจเดคเต เดคเดŸเดฏเดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เตพ "เดซเตˆเดจเตฝ" เด•เต€เดตเต‡เดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เด•เตเดฒเดพเดธเต เดซเต‚ {เด…เดตเดธเดพเดจ เดชเตŠเดคเต เด•เต‹เตบเดธเตเดฑเตเดฑเต X = "foo"; } เด•เตเดฒเดพเดธเต เดฌเดพเตผ เดซเต‚ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต {เดชเตŠเดคเต เด•เต‹เตบเดธเตเดฑเตเดฑเต X = "เดฌเดพเตผ"; > เดฎเดพเดฐเด•เดฎเดพเดฏ เดชเดฟเดถเด•เต: เดฌเดพเตผ::X เดจเต เด…เดจเตเดคเดฟเดฎ เดธเตเดฅเดฟเดฐเดพเด™เตเด•เดคเตเดคเต† เดฎเดฑเดฟเด•เดŸเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ Foo::X }
  • เดกเดฟเดธเตเด•เต เด•เดพเดทเต†เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต fsync, fdatasync เดซเด‚เด—เตเดทเดจเตเด•เตพ เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต. $file = fopen("sample.txt", "w"); fwrite($file, "เดšเดฟเดฒ เด‰เดณเตเดณเดŸเด•เตเด•เด‚"); เดŽเด™เตเด•เดฟเตฝ (fsync($file)) {เดŽเด•เตเด•เต‹ "เดซเดฏเตฝ เดกเดฟเดธเตเด•เดฟเตฝ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดจเดฟเดฒเดจเดฟเดจเตเดจเต."; } fclose($file);
  • เดฎเตเดฎเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš "0" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดฎเต‡, เด’เด•เตเดŸเตฝ เดจเดฎเตเดชเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ "0o", "0O" เดŽเดจเตเดจเต€ เดชเตเดฐเดฟเดซเดฟเด•เตเดธเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดšเต‡เตผเดคเตเดคเต. 016 === 0o16; // true 016 === 0O16; //เดถเดฐเดฟ
  • $GLOBALS-เดจเตเดฑเต† เด‰เดชเดฏเต‹เด—เด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เดชเดฟเดจเตเดจเต‹เด•เตเด• เด…เดจเตเดฏเต‹เดœเตเดฏเดคเดฏเตเดŸเต† เดฒเด‚เด˜เดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเด‚, เดชเด•เตเดทเต‡ เด…เดฑเต‡เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, $GLOBALS เดฒเต‡เด•เตเด•เตเดณเตเดณ เดŽเดดเตเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดชเต‹เดฏเดฟเดจเตเดฑเตผ เดตเดดเดฟ $GLOBALS เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเดจเตเดจเต. 2000 เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เดตเดฏเดฟเตฝ 23 เดŽเดฃเตเดฃเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดˆ เดฎเดพเดฑเตเดฑเด‚ เดฌเดพเดงเดฟเด•เตเด•เตเด•เดฏเตเดณเตเดณเต‚ เดŽเดจเตเดจเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเตผเดฆเตเดฆเต‡เดถเด‚ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดพเตฝ, 8.1 เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเตเดณเตเดณ เดชเดฆเดชเตเดฐเดฏเต‹เด—เด™เตเด™เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เดฟเดฒเตเดฒ: $GLOBALS = []; $GLOBALS += []; $GLOBALS =& $x; $x =& $GLOBALS; เด…เตบเดธเต†เดฑเตเดฑเต ($GLOBALS); by_ref($GLOBALS);
  • เด†เดจเตเดคเดฐเดฟเด• เดฐเต€เดคเดฟเด•เตพ เด‡เดชเตเดชเต‹เตพ เดถเดฐเดฟเดฏเดพเดฏ เดคเดฐเด‚ เดจเตฝเด•เดฃเด‚. PHP 8.1-เตฝ, เดซเด‚เด—เตโ€Œเดทเตป เดกเดฟเด•เตเดฒเดฑเต‡เดทเดจเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเดพเดคเตเดค เด’เดฐเต เดคเดฐเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเดคเต เด’เดฐเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเด‚, เดŽเดจเตเดจเดพเตฝ PHP 9.0-เตฝ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เด’เดฐเต เดชเดฟเดถเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด‚.
  • เดตเดฟเดญเดตเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดคเตเดŸเตผเดจเตเดจเต. finfo_*, imap_* เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตโ€Œเดคเต.
  • เด…เดธเดพเดงเตเดตเดพเดฃเต†เดจเตเดจเต เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เด†เดจเตเดคเดฐเดฟเด• เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเดพเดฏเดฟ เด…เดธเดพเดงเตเดตเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เดฟ. PHP 8.1-เตฝ, str_contains ("string", null) เดชเต‹เดฒเตเดณเตเดณ เดจเดฟเตผเดฎเตเดฎเดพเดฃเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดฐเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเดฟเดฒเต‡เด•เตเด•เตเด‚ PHP 9-เตฝ เด’เดฐเต เดชเดฟเดถเด•เดฟเดฒเต‡เด•เตเด•เตเด‚ เดจเดฏเดฟเด•เตเด•เตเด‚.
  • MurmurHash3, xxHash เดนเดพเดทเดฟเด‚เด—เต เด…เตฝเด—เต‹เดฐเดฟเดคเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•