我有一个从文件中读取的数组,我正在try 删除该数组中的所有可能性,但保留原始数字.
$n = Array
(
[0] => 050
[1] => 051
[2] => 052
[3] => 501
[4] => 054
[5] => 150
[6] => 061
[7] => 062
[8] => 510
[9] => 064
)
在我的代码中,我将文件循环到一个数组中,然后我有一个名为como的函数,它给出了该数字的所有可能组合,例如:051可以是150,510,501.
我的组合函数如下:
function combo($num){
$a = array();
$n_s = str_split($num);
// 5 8 2
// first combo
$c1 = $n_s[0] . '' . $n_s[2] . '' . $n_s[1];
$c2 = $n_s[1] . '' . $n_s[0] . '' . $n_s[2];
$c3 = $n_s[1] . '' . $n_s[2] . '' . $n_s[0];
$c4 = $n_s[2] . '' . $n_s[0] . '' . $n_s[1];
$c5 = $n_s[2] . '' . $n_s[1] . '' . $n_s[0];
array_push($a, $c1, $c2, $c3, $c4, $c5);
return($a);
}
function mirror($n){
$m = array("0" => "5", "1" => "6", "2" => "7", "3" => "8", "4" => "9", "5" => "0", "6" => "1", "7" => "2", "8" => "3", "9" => "4");
$n_s = str_split($n);
$f = $m[$n_s[0]] . '' . $m[$n_s[1]] . '' . $m[$n_s[2]];
return $f;
}
foreach($n as $v){
echo $v . '<br>';
$t = combo($v);
foreach($t as $vs){
unset($n[$vs]);
}
}
因此,我希望得到的结果是返回原始数组,保留051,并删除501,150,510个变量.这将在250个数字的循环下工作.如果我的计算是正确的,它应该返回大约包含25个数字的最终array.
任何帮助都是感激不尽的,我似乎做不好,我错过了什么.