Loop through the iterator and extract a key, optionally join the
results if more than one value is found.
#### Extract values from an array by key
The extbase version of indexed_search returns an array of the
previous search, which cannot easily be shown in the input field
of the result page. This can be solved.
#### Input from extbase version of indexed_search">
array(
0 => array(
'sword' => 'firstWord',
'oper' => 'AND'
),
1 => array(
'sword' => 'secondWord',
'oper' => 'AND'
),
3 => array(
'sword' => 'thirdWord',
'oper' => 'AND'
)
)
Show the previous search words in the search form of the
result page:
#### Example
#### Get the names of several users
Provided we have a bunch of FrontendUsers and we need to show
their firstname combined into a string:
Welcome
#### Output
Welcome
{frontendUsers -> v:iterator.extract(key: 'firstname') -> v:iterator.implode(glue: ', ')}
#### Output
Welcome Peter, Paul, Marry
#### Complex example {anArray->v:iterator.extract(path: 'childProperty.secondNestedChildObject')->v:iterator.sort(direction: 'DESC', sortBy: 'propertyOnSecondChild')->v:iterator.slice(length: 10)->v:iterator.extract(key: 'uid')}/** * @test * @dataProvider simpleStructures */ public function extractByKeyExtractsKeyByPath($structure, $key, $expected) { $this->assertSame($expected, $this->fixture->extractByKey($structure, $key)); }