с помощью этого форума я нашел способ получить массив, который идеально подходит для моей задачи. Я столкнулся с последующей проблемой tho:
Я получил следующий массив-пример
Array (
[A] => Array (
[D] => Array (
[A] => Array (
[M] => Array (
[result] => ADAM )
[N] => Array (
[result] => ADAN )
)
)
)
[H] => Array (
[E] => Array (
[N] => Array (
[R] => Array (
[Y] => Array (
[result] => HENRY )
)
[N] => Array (
[E] => Array (
[S] => Array (
[result] => HENNES )
)
)
)
)
)
)
Где Letters являются индексами, и я получаю массив результатов для каждого имени. Теперь я ищу способ поиска в этом массиве с указанием c строки поиска, и это должно быть возможно начиная с 3-го символа. Поэтому, если я ищу 'ADA', я хочу получить значение из всех следующих массивов результатов, которые будут "ADAM" и "ADAN", как оба следуют в массиве ['A'] ['D'] ['A'] .
У меня не было проблем с поиском по правильному индексу, но я не могу найти способ получить доступ ко всем массивам «результата». Только нашел способы поиска окончательного значения (ADAM, ADAN), но, как указано, я искал все возможные значения из моей точки поиска.
Так что в основном я хочу получить все значения из массивов результатов, следующих за последним символом из моей строки поиска в качестве индекса моего массива. Надеюсь, это объяснение указывает на то, что я ищу.
Заранее спасибо!
Короче говоря:
//my Input
$searchstring = 'ADA';
//Output i want
"ADAM", "ADAN";
//Input
$searchstring = 'ADAM';
//Output
"ADAM"
РЕДАКТИРОВАТЬ: я редактировал этот вопрос с моим подходом, насколько комментарий указал, что я должен сделать это (спасибо за это!), поэтому я попытался go следующим образом:
Когда у меня был мой Example-Array, я пытался выбрать только необходимую часть структуры:
$searchquery = 'HEN';
//Searchquery as Array
$check = str_split($searchquery);
//second isntance of the original array which is named $result
$finalsearch = $result;
foreach($check as $key) {
$finalsearch = $finalsearch[$key];
}
//check with output if i selected the right area
print_r($finalsearch);
Вывод, который я получил из этого: Array ([R] => Array ([Y] => Array ([result] => HENRY)) [N] => Array ([E] => Array ([S] => Array ([result] => HENNES)))) Так что я нахожусь в правой части структуры.
Затем я попытался найти способы поиска всех экземпляров индекса 'result'.
Я нашел следующие функции и подходы, которые позволили мне искать конкретное c значение, но не индексы.
$newArray = array_values($finalsearch);
array-search($searchquery, $finalsearch);
Это была точка, в которой я начал крутиться кругами