43 lines
873 B
PHP

<?php
namespace Infinito\Domain\Map;
/**
* This class offers the basic functions for managing an 2 dimensional map.
*
* @author kevinfrantz
*/
abstract class AbstractMap implements MapInterface
{
/**
* @param array|string[] $map
*
* @return array|string[]
*/
protected static function getValuesByIndex(string $index, array $map): array
{
if (array_key_exists($index, $map)) {
return $map[$index];
}
return [];
}
/**
* @param array|string[] $map
*
* @return array|string[]
*/
protected static function getIndizesByValue(string $value, array $map): array
{
$result = [];
foreach ($map as $index => $values) {
if (in_array($value, $values)) {
$result[] = $index;
}
}
return $result;
}
}