我尝试在Laravel 种子的run()
函数中运行以下几行。
$numbers = <<<EOL
1
2
3
4
EOL;
$array = explode(PHP_EOL, $numbers);
运行php artisan migrate:refresh --seed
后,我注意到$array
的值为:
Array (
0 => '1
2
3
4',
)
预期结果是:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
为什么播种器中的explode()
函数会忽略行尾?
答案 0 :(得分:3)
工作正常
$numbers = <<<EOL
1
2
3
4
EOL;
$array = explode("\n", $numbers)
PHP_EOL的目的是自动为平台选择正确的字符。对于DOS PHP_EOL-\r\n
,mac-\r
,Unix-\n
。在当前情况下,您需要静态使用\n
。
答案 1 :(得分:0)