3v4l.org

run code in 300+ PHP versions simultaneously
<?php $divisor = 60; $seconds = '00'; $statement = "SELECT s.symbol, s.symbol64 symbol_id, s.multiply, s.currency, ((t.ctm - unix_timestamp(:date_begin)) DIV %s) as ctm_range, date_format(from_unixtime((substring_index(group_concat(cast(t.ctm AS CHAR) ORDER BY t.ctm), ',', 1))), '%%Y-%%m-%%dT%%H:%%i:%s') time, (trim(TRAILING '.' FROM(cast(trim(TRAILING '0' FROM substring_index(group_concat(cast(t.bid AS CHAR) ORDER BY t.ctm), ',', 1) ) AS char)))) open, (trim(TRAILING '.' FROM(cast(trim(TRAILING '0' FROM max(t.bid) ) AS char)))) high, (trim(TRAILING '.' FROM(cast(trim(TRAILING '0' FROM min(t.bid) ) AS char)))) low, (trim(TRAILING '.' FROM(cast(trim(TRAILING '0' FROM substring_index(group_concat(cast(t.bid AS CHAR) ORDER BY t.ctm DESC), ',', 1) ) AS char)))) close, round(avg(abs(t.bid * s.multiply - t.ask * s.multiply))) average_spread FROM ticks t JOIN symbols s ON s.symbol64 = t.symbol WHERE s.symbol = :symbol AND t.ctm BETWEEN unix_timestamp(:date_begin) AND unix_timestamp(:date_end) GROUP BY s.symbol, ctm_range ORDER BY t.ctm"; $statement = sprintf($statement, $divisor, $seconds); echo $statement;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jsXao
function name:  (null)
number of ops:  11
compiled vars:  !0 = $divisor, !1 = $seconds, !2 = $statement
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 60
    4     1        ASSIGN                                                   !1, '00'
    6     2        ASSIGN                                                   !2, 'SELECT+s.symbol%2C%0A++++++++++++++++s.symbol64+symbol_id%2C%0A++++++++++++++++s.multiply%2C%0A++++++++++++++++s.currency%2C%0A++++++++++++++++%28%28t.ctm+-+unix_timestamp%28%3Adate_begin%29%29+DIV+%25s%29+as+ctm_range%2C%0A++++++++++++++++date_format%28from_unixtime%28%28substring_index%28group_concat%28cast%28t.ctm+AS+CHAR%29+ORDER+BY+t.ctm%29%2C+%27%2C%27%2C+1%29%29%29%2C+%27%25%25Y-%25%25m-%25%25dT%25%25H%3A%25%25i%3A%25s%27%29+time%2C%0A++++++++++++++++%28trim%28TRAILING+%27.%27+FROM%28cast%28trim%28TRAILING+%270%27+FROM%0A++++++++++++++++++++substring_index%28group_concat%28cast%28t.bid+AS+CHAR%29+ORDER+BY+t.ctm%29%2C+%27%2C%27%2C+1%29%0A++++++++++++++++%29+AS+char%29%29%29%29+open%2C%0A++++++++++++++++%28trim%28TRAILING+%27.%27+FROM%28cast%28trim%28TRAILING+%270%27+FROM%0A++++++++++++++++++++max%28t.bid%29%0A++++++++++++++++%29+AS+char%29%29%29%29+high%2C%0A++++++++++++++++%28trim%28TRAILING+%27.%27+FROM%28cast%28trim%28TRAILING+%270%27+FROM%0A++++++++++++++++++++min%28t.bid%29%0A++++++++++++++++%29+AS+char%29%29%29%29+low%2C%0A++++++++++++++++%28trim%28TRAILING+%27.%27+FROM%28cast%28trim%28TRAILING+%270%27+FROM%0A++++++++++++++++++++substring_index%28group_concat%28cast%28t.bid+AS+CHAR%29+ORDER+BY+t.ctm+DESC%29%2C+%27%2C%27%2C+1%29%0A++++++++++++++++%29+AS+char%29%29%29%29+close%2C%0A++++++++++++++++round%28avg%28abs%28t.bid+%2A+s.multiply+-+t.ask+%2A+s.multiply%29%29%29+average_spread%0A++++++++++++FROM+ticks+t%0A++++++++++++JOIN+symbols+s+ON+s.symbol64+%3D+t.symbol%0A++++++++++++WHERE+s.symbol+%3D+%3Asymbol%0A++++++++++++++AND+t.ctm+BETWEEN+unix_timestamp%28%3Adate_begin%29+AND+unix_timestamp%28%3Adate_end%29%0A++++++++++++GROUP+BY+s.symbol%2C+ctm_range%0A++++++++++++ORDER+BY+t.ctm'
   32     3        INIT_FCALL                                               'sprintf'
          4        SEND_VAR                                                 !2
          5        SEND_VAR                                                 !0
          6        SEND_VAR                                                 !1
          7        DO_ICALL                                         $6      
          8        ASSIGN                                                   !2, $6
   33     9        ECHO                                                     !2
         10      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
181.16 ms | 1395 KiB | 15 Q