문자열 중 0이 아닌 문자를 중첩 된 배열 키로 변환하는 방법을 알아 내려고합니다. 예를 들어, $id = '12430'
으로 주어진다면 $tree[1][2][4][3]['id'] = '12430'
으로 끝내고 싶습니다. 몇 가지 다른 방법을 시도해 보았습니다. 가장 최근의 결과는문자열 문자를 중첩 된 배열 키로 바꾸기
$id = '12430';
$keys = str_split($id);
function addKey($keys, $id, $array = array())
{
if ($keys[0] != '0')
{
$key = $keys[0];
$array[$key] = array();
array_shift($keys);
addKey($keys, $id, $array[$key]);
}
else
{
$array['id'] = $id;
return $array;
}
}
$tree = addKey($keys, $id);
내가 뭘 잘못하고 있니? 또는 심지어 가능합니까?
패턴이란 무엇입니까? 왜 '0'은 무시됩니까? – AbraCadaver
@AbraCadaver 내 목적에 의미가 없으므로. (나는 가계도를 짓고 있습니다.) – gr8dane
@AbraCadaver FYI,이 특정 ID는 1 세대 부부의 두 번째 자녀의 4 번째 자녀의 3 번째 자녀임을 나타냅니다. – gr8dane