3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $uploadedAssets = json_decode('[ { "id": 28, "video_id": 5, "wistia_id": "4q9l3wynf5", "camera_angle": "front", "starting_foot": null, "verbal_cue": "on" }, { "id": 29, "video_id": 5, "wistia_id": "0puffz75s7", "camera_angle": "front", "starting_foot": null, "verbal_cue": "off" }, { "id": 30, "video_id": 5, "wistia_id": "9drxqjvfjm", "camera_angle": "back", "starting_foot": null, "verbal_cue": "on" }, { "id": 31, "video_id": 5, "wistia_id": "2ivgoapitc", "camera_angle": "back", "starting_foot": null, "verbal_cue": "off" } ]', true); var_dump($uploadedAssets); die(); $goodAsset = null; $demands = [ ['attribute' => 'camera_angle', 'value' => 'front'], ['attribute' => 'starting_foot', 'value' => 'right'], ['attribute' => 'verbal_cue', 'value' => 'off'] ]; while (!empty($demands)) { foreach ($uploadedAssets as $asset) { $match = true; foreach ($demands as $demand) { if ($asset[$demand['attribute']] != $demand['value']) { $match = false; break; } } if ($match) { $goodAsset = $asset; break; } } if (empty($goodAsset)) { array_pop($demands); } }
based on GOBtU
Output for 5.4.0 - 7.2.0
array(4) { [0]=> array(6) { ["id"]=> int(28) ["video_id"]=> int(5) ["wistia_id"]=> string(10) "4q9l3wynf5" ["camera_angle"]=> string(5) "front" ["starting_foot"]=> NULL ["verbal_cue"]=> string(2) "on" } [1]=> array(6) { ["id"]=> int(29) ["video_id"]=> int(5) ["wistia_id"]=> string(10) "0puffz75s7" ["camera_angle"]=> string(5) "front" ["starting_foot"]=> NULL ["verbal_cue"]=> string(3) "off" } [2]=> array(6) { ["id"]=> int(30) ["video_id"]=> int(5) ["wistia_id"]=> string(10) "9drxqjvfjm" ["camera_angle"]=> string(4) "back" ["starting_foot"]=> NULL ["verbal_cue"]=> string(2) "on" } [3]=> array(6) { ["id"]=> int(31) ["video_id"]=> int(5) ["wistia_id"]=> string(10) "2ivgoapitc" ["camera_angle"]=> string(4) "back" ["starting_foot"]=> NULL ["verbal_cue"]=> string(3) "off" } }
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/sp70q on line 40
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/sp70q on line 40
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/sp70q on line 40
Process exited with code 255.