<?php
$rows = [
100 => [
['product_id' => 101, 'name' => ''],
['product_id' => 102, 'name' => ''],
['product_id' => 103, 'name' => ''],
],
200 => [
['product_id' => 201, 'name' => ''],
['product_id' => 202, 'name' => ''],
],
300 => [
['product_id' => 301, 'name' => ''],
['product_id' => 302, 'name' => ''],
['product_id' => 303, 'name' => ''],
['product_id' => 304, 'name' => ''],
]
];
var_export(
array_filter( #remove nulls
array_merge( #flatten the unpacked elements
...array_map( #unpack
null, #transpose
...$rows #transpose
) #unpack
) #flatten the unpacked elements
) #remove nulls
);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/nhNbH
function name: (null)
number of ops: 17
compiled vars: !0 = $rows
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, <array>
21 1 INIT_FCALL 'var_export'
22 2 INIT_FCALL 'array_filter'
23 3 INIT_FCALL 'array_merge'
24 4 INIT_FCALL 'array_map'
25 5 SEND_VAL null
26 6 SEND_UNPACK !0
7 CHECK_UNDEF_ARGS
24 8 DO_ICALL $2
26 9 SEND_UNPACK $2
10 CHECK_UNDEF_ARGS
23 11 DO_ICALL $3
26 12 SEND_VAR $3
22 13 DO_ICALL $4
26 14 SEND_VAR $4
21 15 DO_ICALL
30 16 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0
preferences:
182.51 ms | 1002 KiB | 17 Q