3v4l.org

run code in 300+ PHP versions simultaneously
<?php $lines = "name,surname,email John,smith,jsmith@gmail.com HaMish,JONES,ham@seek.com Phil,CARRY,phil@open.edu.au Johnny,O'Hare,john@yahoo.com.au Mike,O'Connor,mo'connor@cat.net.nz WILLIAM,SMYthe,happy@ent.com.au HAMISH,jones,ham@seek.com Sam!!,WalTERS,sam!@walters.org Daley,thompson,daley@yahoo.co.nz kevin,Ruley,kevin.ruley@gmail.com Edward,JIKES,edward@jikes@com.au"; $lines = explode("\n", $lines); $csv = array_map('str_getcsv', $lines); $col_names = array_shift($csv); $users = []; foreach($csv as $row) { $users[] = [ $col_names[0] => ucwords(strtolower($row[0])), // name: $col_names[1] => ucwords(strtolower($row[1])), // surname: $col_names[2] => strtolower($row[2]), // email: ]; } print_r($users);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 17, Position 2 = 45
Branch analysis from position: 17
2 jumps found. (Code = 78) Position 1 = 18, Position 2 = 45
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 45
filename:       /in/SFYjd
function name:  (null)
number of ops:  50
compiled vars:  !0 = $lines, !1 = $csv, !2 = $col_names, !3 = $users, !4 = $row
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 'name%2Csurname%2Cemail%0AJohn%2Csmith%2Cjsmith%40gmail.com%0AHaMish%2CJONES%2Cham%40seek.com%0APhil%2CCARRY%2Cphil%40open.edu.au%0AJohnny%2CO%27Hare%2Cjohn%40yahoo.com.au%0AMike%2CO%27Connor%2Cmo%27connor%40cat.net.nz%0AWILLIAM%2CSMYthe%2Chappy%40ent.com.au%0AHAMISH%2Cjones%2Cham%40seek.com%0ASam%21%21%2CWalTERS%2Csam%21%40walters.org%0ADaley%2Cthompson%2Cdaley%40yahoo.co.nz%0Akevin%2CRuley%2Ckevin.ruley%40gmail.com%0AEdward%2CJIKES%2Cedward%40jikes%40com.au'
   15     1        INIT_FCALL                                               'explode'
          2        SEND_VAL                                                 '%0A'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $6      
          5        ASSIGN                                                   !0, $6
   17     6        INIT_FCALL                                               'array_map'
          7        SEND_VAL                                                 'str_getcsv'
          8        SEND_VAR                                                 !0
          9        DO_ICALL                                         $8      
         10        ASSIGN                                                   !1, $8
   19    11        INIT_FCALL                                               'array_shift'
         12        SEND_REF                                                 !1
         13        DO_ICALL                                         $10     
         14        ASSIGN                                                   !2, $10
   21    15        ASSIGN                                                   !3, <array>
   23    16      > FE_RESET_R                                       $13     !1, ->45
         17    > > FE_FETCH_R                                               $13, !4, ->45
   25    18    >   FETCH_DIM_R                                      ~15     !2, 0
         19        INIT_FCALL                                               'ucwords'
         20        INIT_FCALL                                               'strtolower'
         21        FETCH_DIM_R                                      ~16     !4, 0
         22        SEND_VAL                                                 ~16
         23        DO_ICALL                                         $17     
         24        SEND_VAR                                                 $17
         25        DO_ICALL                                         $18     
         26        INIT_ARRAY                                       ~19     $18, ~15
   26    27        FETCH_DIM_R                                      ~20     !2, 1
         28        INIT_FCALL                                               'ucwords'
         29        INIT_FCALL                                               'strtolower'
         30        FETCH_DIM_R                                      ~21     !4, 1
         31        SEND_VAL                                                 ~21
         32        DO_ICALL                                         $22     
         33        SEND_VAR                                                 $22
         34        DO_ICALL                                         $23     
         35        ADD_ARRAY_ELEMENT                                ~19     $23, ~20
   27    36        FETCH_DIM_R                                      ~24     !2, 2
         37        INIT_FCALL                                               'strtolower'
         38        FETCH_DIM_R                                      ~25     !4, 2
         39        SEND_VAL                                                 ~25
         40        DO_ICALL                                         $26     
         41        ADD_ARRAY_ELEMENT                                ~19     $26, ~24
   24    42        ASSIGN_DIM                                               !3
   27    43        OP_DATA                                                  ~19
   23    44      > JMP                                                      ->17
         45    >   FE_FREE                                                  $13
   32    46        INIT_FCALL                                               'print_r'
         47        SEND_VAR                                                 !3
         48        DO_ICALL                                                 
         49      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
148.5 ms | 1016 KiB | 19 Q