meilisearch/Classes/System/Solr/ParsingUtil.php

35 lines
1005 B
PHP
Raw Normal View History

2021-04-17 00:26:33 +02:00
<?php
namespace WapplerSystems\Meilisearch\System\Solr;
/**
* This class provides static helper functions that are helpful during the result parsing for solr.
*/
class ParsingUtil
{
/**
* This method is used to covert a array structure with json.nl=flat to have it as return with json.nl=map.
*
* @param $options
* @return array
*/
public static function getMapArrayFromFlatArray(array $options): array
{
$keyValueMap = [];
$valueFromKeyNode = -1;
foreach($options as $key => $value) {
$isKeyNode = (($key % 2) == 0);
if ($isKeyNode) {
$valueFromKeyNode = $value;
} else {
if($valueFromKeyNode == -1) {
throw new \UnexpectedValueException('No optionValue before count value');
}
//we have a countNode
$keyValueMap[$valueFromKeyNode] = $value;
}
}
return $keyValueMap;
}
}