3v4l.org

run code in 300+ PHP versions simultaneously
<?php function halfer(string $string): array { $result = []; $result['explode2'] = explode("\n", $string, 2); $result['preg_split2'] = preg_split("~\R+~", $string, 2, PREG_SPLIT_NO_EMPTY); $newlinePosition = strpos($string,"\n"); $result['substrs'] = [substr($string, 0, $newlinePosition), substr($string, $newlinePosition)]; $result['nlP'] = preg_split("~\n~" ,$string, $newlinePosition); return $result; } $strings = [ 'two newlines' => "1st line\n2nd line\n3rd line", 'leading newline' => "\n1st line\n2nd line\n3rd line", 'lone trailing newline' => "1st line\n", 'no newlines' => "1st line", 'double newlines' => "1st line\n\n2nd line", '\r\n' => "1st\r\n2nd", ]; foreach ($strings as $label => $string) { echo "$label\n"; echo json_encode(halfer($string), JSON_PRETTY_PRINT); echo "\n---\n"; }

preferences:
27.43 ms | 408 KiB | 5 Q