diff --git a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/elseif.php.inc b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/elseif.php.inc index cad374eaeb0..be3aa80a610 100644 --- a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/elseif.php.inc +++ b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/elseif.php.inc @@ -12,6 +12,6 @@ namespace Rector\Tests\Php83\Rector\BooleanAnd\JsonValidateRector\Fixture; if ($flag) { echo "skip"; -} elseif (json_validate($config, true)) { +} elseif (json_validate($config)) { echo "valid config"; -} +} \ No newline at end of file diff --git a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/inline_string.php.inc b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/inline_string.php.inc index 20cb92fc231..a87faa97959 100644 --- a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/inline_string.php.inc +++ b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/inline_string.php.inc @@ -8,6 +8,6 @@ if (json_decode('{"a":1}', true) !== null && json_last_error() === JSON_ERROR_NO \ No newline at end of file diff --git a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate.php.inc b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate.php.inc index c5a679544a1..87748e3d6f4 100644 --- a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate.php.inc +++ b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate.php.inc @@ -11,7 +11,7 @@ if (json_decode($json, true) !== null && json_last_error() === JSON_ERROR_NONE){ namespace Rector\Tests\Php83\Rector\BooleanAnd\JsonValidateRector\Fixture; -if (json_validate($json, true)){ +if (json_validate($json)){ echo 1; } ?> \ No newline at end of file diff --git a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_base.php.inc b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_base.php.inc index 13201b3bf84..6e3cd1767eb 100644 --- a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_base.php.inc +++ b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_base.php.inc @@ -11,7 +11,7 @@ if (json_decode($json, true, 512) !== null && json_last_error() === JSON_ERROR_N namespace Rector\Tests\Php83\Rector\BooleanAnd\JsonValidateRector\Fixture; -if (json_validate($json, true, 512)){ +if (json_validate($json, 512)){ echo 1; } ?> \ No newline at end of file diff --git a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named.php.inc b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named.php.inc index 7d9e3cda76e..68fa4cffc32 100644 --- a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named.php.inc +++ b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named.php.inc @@ -9,7 +9,7 @@ if (json_decode(associative: true, json: $json) !== null && json_last_error() == +?> \ No newline at end of file diff --git a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named_base.php.inc b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named_base.php.inc index dd40a1364a7..08ebe7d8454 100644 --- a/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named_base.php.inc +++ b/rules-tests/Php83/Rector/BooleanAnd/JsonValidateRector/Fixture/json_validate_named_base.php.inc @@ -9,7 +9,7 @@ if (json_decode(json: $json, associative: true) !== null && json_last_error() == +?> \ No newline at end of file diff --git a/rules/Php83/Rector/BooleanAnd/JsonValidateRector.php b/rules/Php83/Rector/BooleanAnd/JsonValidateRector.php index efecc86c5fa..ea98802f0d4 100644 --- a/rules/Php83/Rector/BooleanAnd/JsonValidateRector.php +++ b/rules/Php83/Rector/BooleanAnd/JsonValidateRector.php @@ -95,8 +95,18 @@ public function refactor(Node $node): ?Node return null; } + // Remove associative argument (position 1 or named) - json_validate does not have this param + foreach ($args as $index => $arg) { + if ($arg instanceof Arg && ( + ($arg->name !== null && $arg->name->toString() === 'associative') || + ($arg->name === null && $index === 1) + )) { + unset($funcCall->args[$index]); + break; + } + } + $funcCall->name = new Name('json_validate'); - $funcCall->args = $args; return $funcCall; }