3 回答

TA貢獻1783條經(jīng)驗 獲得超4個贊
您可以為此使用遞歸函數(shù)。
function nest(string $str, int $i = 0) {
return isset($str[$i]) ? [$str[$i] => nest($str, $i + 1)] : ['result' => $str];
}
$result = nest($string);

TA貢獻2011條經(jīng)驗 獲得超2個贊
您可以使用引用,以便在遍歷字符串時將下一個字符添加為數(shù)組的鍵,然后將此新條目設(shè)置為循環(huán)中下一個操作的添加點...
$string = 'ADAM';
$result = [];
$add = &$result;
for($i = 0; $i < strlen($string); $i++){
$add = &$add[$string[$i]];
}
$add['result'] = $string;
print_r($result);
只是為了展示添加多個條目是如何工作的......
addEntry ( $result, "ADAM");
addEntry ( $result, "ALAN");
addEntry ( $result, "ADAME");
function addEntry ( &$result, string $newValue ) {
for($i = 0; $i < strlen($newValue); $i++){
$result = &$result[$newValue[$i]];
}
$result['result'] = $newValue;
}
結(jié)果是...
Array
(
[A] => Array
(
[D] => Array
(
[A] => Array
(
[M] => Array
(
[result] => ADAM
[E] => Array
(
[result] => ADAME
)
)
)
)
[L] => Array
(
[A] => Array
(
[N] => Array
(
[result] => ALAN
)
)
)
)
)
- 3 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報