[php] foreach之谜

2018年5月6日,附加信息

正如评论中所说,从PHP 7.0.X升级到PHP 7.1.X似乎带来了一些新功能。
参考:来自PHP 7.0.x到PHP 7.1.x的升级带来的新功能。


使用 foreach 和 array_map 时,由于 PHP 版本的不同,写法会变得很奇怪,所以记录下来。

<?php
  // php7.1
  foreach(array_map(null, $array1, $array2) as [$val1, $val2]) {
    echo $val1.', '.$val2;
  }

  // php7.0
  foreach(array_map(null, $array1, $array2) as list($val1, $val2)) {
    echo $val1.', '.$val2;
  }
?>

不知道为什么无法用[]写,不过可以使用list(),所以无所谓了。