3v4l.org

run code in 500+ PHP versions simultaneously
<?php // эмулируем то, что прислал бы fetch $body = '{"name":"Иван","phone":"+79990001122","email":"ivan@mail.ru"}'; $data = json_decode($body, true); if (empty($data['name']) || empty($data['phone']) || empty($data['email'])) { echo json_encode(['success' => false, 'message' => 'Заполните все поля']); exit; } // файловую систему 3v4l не даёт, но логику проверим $list = []; $newId = count($list) + 1; $list[] = [ 'id' => $newId, 'name' => $data['name'], 'phone' => $data['phone'], 'email' => $data['email'] ]; echo json_encode($list, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
2 jumps found. (Code = 47) Position 1 = 11, Position 2 = 13
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 20
Branch analysis from position: 14
1 jumps found. (Code = 61) Position 1 = -2
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
Branch analysis from position: 10
filename:       /in/gDjTU
function name:  (null)
number of ops:  39
compiled vars:  !0 = $body, !1 = $data, !2 = $list, !3 = $newId
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '%7B%22name%22%3A%22%D0%98%D0%B2%D0%B0%D0%BD%22%2C%22phone%22%3A%22%2B79990001122%22%2C%22email%22%3A%22ivan%40mail.ru%22%7D'
    4     1        INIT_FCALL                                                   'json_decode'
          2        SEND_VAR                                                     !0
          3        SEND_VAL                                                     <true>
          4        DO_ICALL                                             $5      
          5        ASSIGN                                                       !1, $5
    6     6        ISSET_ISEMPTY_DIM_OBJ                             1  ~7      !1, 'name'
          7      > JMPNZ_EX                                             ~7      ~7, ->10
          8    >   ISSET_ISEMPTY_DIM_OBJ                             1  ~8      !1, 'phone'
          9        BOOL                                                 ~7      ~8
         10    > > JMPNZ_EX                                             ~7      ~7, ->13
         11    >   ISSET_ISEMPTY_DIM_OBJ                             1  ~9      !1, 'email'
         12        BOOL                                                 ~7      ~9
         13    > > JMPZ                                                         ~7, ->20
    7    14    >   INIT_FCALL                                                   'json_encode'
         15        SEND_VAL                                                     <array>
         16        DO_ICALL                                             $10     
         17        ECHO                                                         $10
    8    18      > INIT_FCALL                                                   'exit'
         19*       DO_ICALL                                                     
   12    20    >   ASSIGN                                                       !2, <array>
   13    21        COUNT                                                ~13     !2
         22        ADD                                                  ~14     ~13, 1
         23        ASSIGN                                                       !3, ~14
   16    24        INIT_ARRAY                                           ~17     !3, 'id'
   17    25        FETCH_DIM_R                                          ~18     !1, 'name'
         26        ADD_ARRAY_ELEMENT                                    ~17     ~18, 'name'
   18    27        FETCH_DIM_R                                          ~19     !1, 'phone'
         28        ADD_ARRAY_ELEMENT                                    ~17     ~19, 'phone'
   19    29        FETCH_DIM_R                                          ~20     !1, 'email'
         30        ADD_ARRAY_ELEMENT                                    ~17     ~20, 'email'
   15    31        ASSIGN_DIM                                                   !2
   19    32        OP_DATA                                                      ~17
   22    33        INIT_FCALL                                                   'json_encode'
         34        SEND_VAR                                                     !2
         35        SEND_VAL                                                     384
         36        DO_ICALL                                             $21     
         37        ECHO                                                         $21
         38      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
129.4 ms | 486 KiB | 10 Q