30 lines
779 B
PHP
30 lines
779 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace MonetaPhpShop;
|
|
|
|
/**
|
|
* Ïóíêòû âûïàäàþùåãî ñïèñêà íàñòðîåê â ôîðìàòå `PHPShopGUI::setSelect()`: `[ïîäïèñü, çíà÷åíèå, òåêóùåå]`.
|
|
*/
|
|
final class SelectOptions
|
|
{
|
|
private function __construct() {}
|
|
|
|
/**
|
|
* @param array<string, string> $labels çíà÷åíèå -> ïîäïèñü, â ïîðÿäêå âûâîäà
|
|
* @param string $current çíà÷åíèå èç íàñòðîåê — ïóíêò ñ íèì áóäåò âûáðàí
|
|
*
|
|
* @return array<int, array{0: string, 1: string, 2: string}>
|
|
*/
|
|
public static function fromLabels(array $labels, string $current): array
|
|
{
|
|
$options = [];
|
|
foreach ($labels as $value => $label) {
|
|
$options[] = [$label, (string) $value, $current];
|
|
}
|
|
|
|
return $options;
|
|
}
|
|
}
|