Changeset View
Changeset View
Standalone View
Standalone View
src/utils/utils.php
| Show First 20 Lines • Show All 1,968 Lines • ▼ Show 20 Lines | foreach ($list as $key => $ignored) { | ||||
| if ($key !== $last_key) { | if ($key !== $last_key) { | ||||
| $tmp[] = $glue; | $tmp[] = $glue; | ||||
| $keys[] = last_key($tmp); | $keys[] = last_key($tmp); | ||||
| } | } | ||||
| } | } | ||||
| return array_select_keys($tmp, $keys); | return array_select_keys($tmp, $keys); | ||||
| } | } | ||||
| function phutil_partition(array $map) { | |||||
| $partitions = array(); | |||||
| $partition = array(); | |||||
| $is_first = true; | |||||
| $partition_value = null; | |||||
| foreach ($map as $key => $value) { | |||||
| if (!$is_first) { | |||||
| if ($partition_value === $value) { | |||||
| $partition[$key] = $value; | |||||
| continue; | |||||
| } | |||||
| $partitions[] = $partition; | |||||
| } | |||||
| $is_first = false; | |||||
| $partition = array($key => $value); | |||||
| $partition_value = $value; | |||||
| } | |||||
| if ($partition) { | |||||
| $partitions[] = $partition; | |||||
| } | |||||
| return $partitions; | |||||
| } | |||||