3v4l.org

run code in 300+ PHP versions simultaneously
<?php $trigger_data = "all:ticket_location:is:5|||all:ticket_sub_location:is:1|||any:ticket_is:created:NULL|||any:ticket_is:updated:NULL|||action:assigned_agent_uid:admin"; $final = array(); foreach(explode('|||', $trigger_data) as $e) { $e = explode(':', $e); $result = &$final; $value = end($e); foreach($e as $parts) { if($value === $parts) { $result = $value; } else { $result = &$result[$parts]; } } } print_r($final);

preferences:
31.59 ms | 402 KiB | 5 Q