3v4l.org

run code in 300+ PHP versions simultaneously
<?php $values = [ 'key1' => 'value1', 'key2' => ['value21','value22'], 'key3' => 'value3', 'key4' => 'value4', 'key5' => 'value5' ]; $fields = ['key1', 'key2', 'key4']; $row = []; $time_start1 = microtime(true); foreach ($fields as $alias => $field) { if (!is_array($field)) { if (isset($values[$field])) { echo "catch11\n"; $row[$field] = $values[$field]; } else if (isset($mileage[$alias])) { echo "catch12\n"; $row[$field] = $values[$alias]; } } else { if (isset($values[$field])) { echo "catch21\n"; $row[$field] = $values[$field]; } else if (isset($values[$alias])) { echo "catch22\n"; $row[$field] = $values[$alias]; } } } $time_end1 = microtime(true); $time1 = $time_end1 - $time_start1; var_dump($row); echo "Did in $time1 seconds\n"; unset($row); $time_start2 = microtime(true); $row= []; foreach ($fields as $alias => $field) { if (is_array($field)) { if (isset($values[$field])) { echo "catch11\n"; $row[$field] = $values[$field]; } else if (isset($values[$alias])) { $row[$field] = $values[$alias]; } } else { if (isset($values[$field])) { $row[$field] = $values[$field]; } else if (isset($values[$alias])) { $row[$field] = $values[$alias];} } } $time_end2 = microtime(true); $time2 = $time_end2 - $time_start2; var_dump($row); echo "Did in $time2 seconds\n";

preferences:
29.69 ms | 402 KiB | 5 Q