3v4l.org

run code in 500+ PHP versions simultaneously
<?php $find = "city"; $re = '/(' . $find . ')\":\s\"(.*?)\"|\"(\w+)\":\s\"(' . $find . ')/m'; $str = '{ "company": { "id": "123456", "name": "Test Company LLC.", "FEIN": "22-2222222", "address": { "address_line_1": { "street": "1 Street St, Suite 12", "city": "San Francisco", "postalCode": "123456" }, "address_line_2": { "state": "CA", "country": "USA" } }, "phone": "1-800-XXX-XXXX", "fax": "1-800-XXX-XXXX", "email": "admin@abc.com", "URL": "www.abc.com" }, "producer": { "id": "LLXXXX", "name": "Test Name", "phone": "555-555-5555", "mobile": "555-555-5555", "fax": "555-555-5555", "email": "test@abc.com", "producerSubCode": "111", "NIPRId": "123456", "stateProducerId": "12344" } }'; preg_match_all($re, $str, $matches); $result["value-match"] = array_slice(array_column($matches, 0),1,2); $result["key-match"] = array_slice(array_column($matches, 0),3,2); var_dump($result);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/05dm3
function name:  (null)
number of ops:  38
compiled vars:  !0 = $find, !1 = $re, !2 = $str, !3 = $matches, !4 = $result
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                       !0, 'city'
    3     1        CONCAT                                               ~6      '%2F%28', !0
          2        CONCAT                                               ~7      ~6, '%29%5C%22%3A%5Cs%5C%22%28.%2A%3F%29%5C%22%7C%5C%22%28%5Cw%2B%29%5C%22%3A%5Cs%5C%22%28'
          3        CONCAT                                               ~8      ~7, !0
          4        CONCAT                                               ~9      ~8, '%29%2Fm'
          5        ASSIGN                                                       !1, ~9
    4     6        ASSIGN                                                       !2, '%7B+%22company%22%3A+%7B+%22id%22%3A+%22123456%22%2C+%22name%22%3A+%22Test+Company+LLC.%22%2C+%22FEIN%22%3A+%2222-2222222%22%2C+%22address%22%3A+%7B+%22address_line_1%22%3A+%7B+%22street%22%3A+%221+Street+St%2C+Suite+12%22%2C+%22city%22%3A+%22San+Francisco%22%2C+%22postalCode%22%3A+%22123456%22+%7D%2C+%22address_line_2%22%3A+%7B+%22state%22%3A+%22CA%22%2C+%22country%22%3A+%22USA%22+%7D+%7D%2C+%22phone%22%3A+%221-800-XXX-XXXX%22%2C+%22fax%22%3A+%221-800-XXX-XXXX%22%2C+%22email%22%3A+%22admin%40abc.com%22%2C+%22URL%22%3A+%22www.abc.com%22+%7D%2C+%22producer%22%3A+%7B+%22id%22%3A+%22LLXXXX%22%2C+%22name%22%3A+%22Test+Name%22%2C+%22phone%22%3A+%22555-555-5555%22%2C+%22mobile%22%3A+%22555-555-5555%22%2C+%22fax%22%3A+%22555-555-5555%22%2C+%22email%22%3A+%22test%40abc.com%22%2C+%22producerSubCode%22%3A+%22111%22%2C+%22NIPRId%22%3A+%22123456%22%2C+%22stateProducerId%22%3A+%2212344%22+%7D+%7D'
    6     7        INIT_FCALL                                                   'preg_match_all'
          8        SEND_VAR                                                     !1
          9        SEND_VAR                                                     !2
         10        SEND_REF                                                     !3
         11        DO_ICALL                                                     
    8    12        INIT_FCALL                                                   'array_slice'
         13        INIT_FCALL                                                   'array_column'
         14        SEND_VAR                                                     !3
         15        SEND_VAL                                                     0
         16        DO_ICALL                                             $14     
         17        SEND_VAR                                                     $14
         18        SEND_VAL                                                     1
         19        SEND_VAL                                                     2
         20        DO_ICALL                                             $15     
         21        ASSIGN_DIM                                                   !4, 'value-match'
         22        OP_DATA                                                      $15
    9    23        INIT_FCALL                                                   'array_slice'
         24        INIT_FCALL                                                   'array_column'
         25        SEND_VAR                                                     !3
         26        SEND_VAL                                                     0
         27        DO_ICALL                                             $17     
         28        SEND_VAR                                                     $17
         29        SEND_VAL                                                     3
         30        SEND_VAL                                                     2
         31        DO_ICALL                                             $18     
         32        ASSIGN_DIM                                                   !4, 'key-match'
         33        OP_DATA                                                      $18
   10    34        INIT_FCALL                                                   'var_dump'
         35        SEND_VAR                                                     !4
         36        DO_ICALL                                                     
         37      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
223.45 ms | 2269 KiB | 17 Q