2 回答

TA貢獻1796條經驗 獲得超4個贊
第一部分是找到列表的起點,這只是循環搜索字符串中的每個字符并移動到數組中的那個值的情況。
找到起點后,您可以使用array_walk_recursive()
which 只會訪問葉節點 - 所以這只是名稱(在這種情況下),所以創建所有這些節點的列表并返回它們......
function getEntry ( array $result, string $search ) {
for($i = 0; isset($search[$i]); $i++){
$result = $result[$search[$i]];
}
$output = [];
array_walk_recursive($result, function ( $data ) use (&$output) {
$output[] = $data;
});
return $output;
}
$searchstring = 'ADA';
print_r(getEntry($result, $searchstring));
這應該給...
Array
(
[0] => ADAM
[1] => ADAN
)

TA貢獻1906條經驗 獲得超10個贊
該腳本首先遍歷包含 的字符的鍵$searchstring,如果找到它并且沒有引發錯誤,它會遞歸遍歷數組以查找所有result鍵以將其添加到$result數組中。之后,它內爆$result數組并回顯它。
$searchstring = 'HE';
for( $i = 0; $i < strlen( $searchstring ); $i++ ) {
$sub = @( isset( $sub ) ? $sub[$searchstring[$i]] : $array[$searchstring[$i]] )
or die( 'no results found' );
}
array_walk_recursive( $sub, function( $value ) use ( &$results ) {
$results[] = $value;
});
echo implode( ', ', $results );
- 2 回答
- 0 關注
- 107 瀏覽
添加回答
舉報