3v4l.org

run code in 300+ 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.0.0


preferences:
165.09 ms | 1400 KiB | 21 Q