3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = <<<END { "swagger": "2.0", "paths": { "/": { "get": { "responses": { "200": { "description": "OK" } } } } }, "definitions": { "Pet": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "integer", "format": "int64" } } }, "Dog": { "type": "object", "allOf": [ { "$ref": "#/definitions/Pet" }, { "required": [ "name" ], "properties": { "name": { "type": "string" } } } ], "x-vendor-ext": "some data" } } } END; $str = str_replace("\t", " ", $str); $str = str_replace('"', '\"', $str); $lines = explode("\n", $str); foreach($lines as &$l) { $l = '"' . $l; } echo implode('\n" +' . "\n", $lines) . '";';
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
Warning: Undefined variable $ref in /in/IEPWM on line 34 "{\n" + " \"swagger\": \"2.0\",\n" + " \"paths\": {\n" + " \"/\": {\n" + " \"get\": {\n" + " \"responses\": {\n" + " \"200\": {\n" + " \"description\": \"OK\"\n" + " }\n" + " }\n" + " }\n" + " }\n" + " },\n" + " \"definitions\": {\n" + " \"Pet\": {\n" + " \"type\": \"object\",\n" + " \"required\": [\n" + " \"id\"\n" + " ],\n" + " \"properties\": {\n" + " \"id\": {\n" + " \"type\": \"integer\",\n" + " \"format\": \"int64\"\n" + " }\n" + " }\n" + " },\n" + " \"Dog\": {\n" + " \"type\": \"object\",\n" + " \"allOf\": [\n" + " {\n" + " \"\": \"#/definitions/Pet\"\n" + " },\n" + " {\n" + " \"required\": [\n" + " \"name\"\n" + " ],\n" + " \"properties\": {\n" + " \"name\": {\n" + " \"type\": \"string\"\n" + " }\n" + " }\n" + " }\n" + " ],\n" + " \"x-vendor-ext\": \"some data\"\n" + " }\n" + " }\n" + "}";
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
Notice: Undefined variable: ref in /in/IEPWM on line 34 "{\n" + " \"swagger\": \"2.0\",\n" + " \"paths\": {\n" + " \"/\": {\n" + " \"get\": {\n" + " \"responses\": {\n" + " \"200\": {\n" + " \"description\": \"OK\"\n" + " }\n" + " }\n" + " }\n" + " }\n" + " },\n" + " \"definitions\": {\n" + " \"Pet\": {\n" + " \"type\": \"object\",\n" + " \"required\": [\n" + " \"id\"\n" + " ],\n" + " \"properties\": {\n" + " \"id\": {\n" + " \"type\": \"integer\",\n" + " \"format\": \"int64\"\n" + " }\n" + " }\n" + " },\n" + " \"Dog\": {\n" + " \"type\": \"object\",\n" + " \"allOf\": [\n" + " {\n" + " \"\": \"#/definitions/Pet\"\n" + " },\n" + " {\n" + " \"required\": [\n" + " \"name\"\n" + " ],\n" + " \"properties\": {\n" + " \"name\": {\n" + " \"type\": \"string\"\n" + " }\n" + " }\n" + " }\n" + " ],\n" + " \"x-vendor-ext\": \"some data\"\n" + " }\n" + " }\n" + "}";
Output for 7.3.32 - 7.3.33
"{\n" + " \"swagger\": \"2.0\",\n" + " \"paths\": {\n" + " \"/\": {\n" + " \"get\": {\n" + " \"responses\": {\n" + " \"200\": {\n" + " \"description\": \"OK\"\n" + " }\n" + " }\n" + " }\n" + " }\n" + " },\n" + " \"definitions\": {\n" + " \"Pet\": {\n" + " \"type\": \"object\",\n" + " \"required\": [\n" + " \"id\"\n" + " ],\n" + " \"properties\": {\n" + " \"id\": {\n" + " \"type\": \"integer\",\n" + " \"format\": \"int64\"\n" + " }\n" + " }\n" + " },\n" + " \"Dog\": {\n" + " \"type\": \"object\",\n" + " \"allOf\": [\n" + " {\n" + " \"\": \"#/definitions/Pet\"\n" + " },\n" + " {\n" + " \"required\": [\n" + " \"name\"\n" + " ],\n" + " \"properties\": {\n" + " \"name\": {\n" + " \"type\": \"string\"\n" + " }\n" + " }\n" + " }\n" + " ],\n" + " \"x-vendor-ext\": \"some data\"\n" + " }\n" + " }\n" + "}";
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
Notice: Undefined variable: ref in /in/IEPWM on line 50 "{\n" + " \"swagger\": \"2.0\",\n" + " \"paths\": {\n" + " \"/\": {\n" + " \"get\": {\n" + " \"responses\": {\n" + " \"200\": {\n" + " \"description\": \"OK\"\n" + " }\n" + " }\n" + " }\n" + " }\n" + " },\n" + " \"definitions\": {\n" + " \"Pet\": {\n" + " \"type\": \"object\",\n" + " \"required\": [\n" + " \"id\"\n" + " ],\n" + " \"properties\": {\n" + " \"id\": {\n" + " \"type\": \"integer\",\n" + " \"format\": \"int64\"\n" + " }\n" + " }\n" + " },\n" + " \"Dog\": {\n" + " \"type\": \"object\",\n" + " \"allOf\": [\n" + " {\n" + " \"\": \"#/definitions/Pet\"\n" + " },\n" + " {\n" + " \"required\": [\n" + " \"name\"\n" + " ],\n" + " \"properties\": {\n" + " \"name\": {\n" + " \"type\": \"string\"\n" + " }\n" + " }\n" + " }\n" + " ],\n" + " \"x-vendor-ext\": \"some data\"\n" + " }\n" + " }\n" + "}";

preferences:
169.45 ms | 405 KiB | 230 Q