Skip to content

Commit 108e169

Browse files
sunfabpot
authored andcommitted
Follow-up to symfony#10312: Fixed minor performance related issues in Yaml\Inline.
1 parent 30f35c0 commit 108e169

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/Symfony/Component/Yaml/Inline.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,9 @@ public static function parseScalar($scalar, $delimiters = null, $stringDelimiter
220220
throw new ParseException(sprintf('Malformed inline YAML string (%s).', $scalar));
221221
}
222222

223-
$output = $evaluate ? self::evaluateScalar($output) : $output;
223+
if ($evaluate) {
224+
$output = self::evaluateScalar($output);
225+
}
224226
}
225227

226228
return $output;
@@ -388,9 +390,9 @@ private static function evaluateScalar($scalar)
388390
$scalar = trim($scalar);
389391
$scalarLower = strtolower($scalar);
390392
switch (true) {
391-
case 'null' == $scalarLower:
392-
case '' == $scalar:
393-
case '~' == $scalar:
393+
case 'null' === $scalarLower:
394+
case '' === $scalar:
395+
case '~' === $scalar:
394396
return null;
395397
case 'true' === $scalarLower:
396398
return true;
@@ -425,10 +427,10 @@ private static function evaluateScalar($scalar)
425427
return '0' == $scalar[1] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw);
426428
case is_numeric($scalar):
427429
return '0x' == $scalar[0].$scalar[1] ? hexdec($scalar) : floatval($scalar);
428-
case 0 == strcasecmp($scalar, '.inf'):
429-
case 0 == strcasecmp($scalar, '.NaN'):
430+
case '.inf' === $scalarLower:
431+
case '.nan' === $scalarLower:
430432
return -log(0);
431-
case 0 == strcasecmp($scalar, '-.inf'):
433+
case '-.inf' === $scalarLower:
432434
return log(0);
433435
case preg_match('/^(-|\+)?[0-9,]+(\.[0-9]+)?$/', $scalar):
434436
return floatval(str_replace(',', '', $scalar));

0 commit comments

Comments
 (0)