Я хочу создать функцию, которая для случайного массива будет искать данный ключ и вернет все значения для этого ключа в массиве. Вот то, что я написал до сих пор ...массив поиска многомерным в php?
$testArray = array (
'subArray1' => array(
'key1' => "Sub array 1 value 1",
'key2' => "Sub array 1 value 2",
'key3' => array(
'subkey1' => array(
'subsubkey' => 'sub sub sub value',
),
),
),
'subArray2' => array(
'key1' => "Sub array 2 value 1",
'key2' => "Sub array 2 value 2",
'key3' => array(
'subkey1' => array(
'subsubkey' => 'sub sub sub value 2',
),
),
),
);
function recursiveSearch($testArray,$key,$results)
{
// var_dump($testArray);
if(is_array($testArray)){
foreach($testArray as $k => $v){
if($k == $key){
return $v;
}
else if(is_array($v)){
array_push($results, recursiveSearch($v,$key,$results));
}
}
}
else{
return ;
}
return $results;
}
$empt = array();
$output = recursiveSearch($testArray,'subsubkey',$empt);
var_dump($output);
Этот вывод я на данный момент ... Я хочу, чтобы получить простую массив со значениями в нем.
array(2) {
[0]=>
array(1) {
[0]=>
array(1) {
[0]=>
string(17) "sub sub sub value"
}
}
[1]=>
array(2) {
[0]=>
array(1) {
[0]=>
array(1) {
[0]=>
string(17) "sub sub sub value"
}
}
[1]=>
array(2) {
[0]=>
array(1) {
[0]=>
array(1) {
[0]=>
string(17) "sub sub sub value"
}
}
[1]=>
string(19) "sub sub sub value 2"
}
}
}
Я не совсем уверен, почему массив результат, как это ...
Формат результирующего массива, что я хочу это:
['sub sub sub value','sub sub sub value 2']
Я вижу «Я хочу ", но не вопрос. У вас уже есть код, что вы пытались его изменить, и как вы думаете, что нужно улучшить? – kero