function genarray(&$arrayX, $index, &$str, $len) { if (!is_array($arrayX)) { return; } if ($index >= $len) { return; } if ($index == $len - 1) { $arrayX[$str[$index]] = 1; return; } $x = null; if (!array_key_exists($str[$index], $arrayX)) { $x = array(); $arrayX[$str[$index]] =& $x; } else { $x =& $arrayX[$str[$index]]; } genarray($x, $index + 1, $str, $len); }
<?php function genarray($info) { $rlen = strlen($info); if ($rlen == 0) { return array(rand(), rand()); } // if ($rlen % 2 == 0) { $midlen = $rlen / 2; } else { $midlen = $rlen / 2 + 1; } // $tarr = str_split($info, $midlen); if ($tarr[0] == 0) { //echo "here-0"; $tarr[0] = rand(); } if ($tarr[1] == 0) { //echo "here-1"; $tarr[1] = rand(); } return array(intval($tarr[0]), intval($tarr[1])); } $tt = genarray("20111100"); print_r($tt); $tt = genarray("ddd"); print_r($tt);