Is this for real?
Native PHP trim function uses the $char_double
by default. I expected the $trimmed_single_double
to be as $trimmed_matching_double
.
This code was tested on https://onlinephp.io/c/9799e2b3-6598-447b-9ca1-31218983d9e1 using (PHP 8.1.12). Feel free go check it out.
I want to believe I'm doing something wrong. I'm nervous.
Code (PHP 8.1.12)
<?php
$text_double = "\n text \n";
$text_single = '\n text \n';
$char_double = " \t\n\r\0\x0B";
$char_single = ' \t\n\r\0\x0B';
$trimmed_matching_double = trim($text_double, $char_double);
$trimmed_matching_single = trim($text_single, $char_single);
$trimmed_single_double = trim($text_single, $char_double);
var_dump([
'trimmed_matching_double' => $trimmed_matching_double,
'trimmed_matching_single' => $trimmed_matching_single,
'trimmed_single_double' => $trimmed_single_double,
]);
Output
array(3) {
["trimmed_matching_double"]=>
string(4) "text"
["trimmed_matching_single"]=>
string(1) "e"
["trimmed_single_double"]=>
string(10) "\n text \n"
}
Please shed some light on this. Thank you!