Php 从数组中获取不重复的数字
我在解决一个问题上遇到了困难 我有一个数组,它包含从0到555的数字Php 从数组中获取不重复的数字,php,Php,我在解决一个问题上遇到了困难 我有一个数组,它包含从0到555的数字 array(0, 1, 2, 3, 4... 555) 我需要一个函数,它只返回那些不包含相同数字的数字 因此,这些数字不会得到回报 11-因为“1”正在重复 255-因为255正在重复。。所以 我应该如何通过php解决这个问题 谢谢如果你把数字看作一个字符串,这其实很简单。可以使用的函数是,它统计字符串中字符的出现次数: $array = array(0, 1, 2, 3, 4, 11, 255, 555); $resu
array(0, 1, 2, 3, 4... 555)
我需要一个函数,它只返回那些不包含相同数字的数字
因此,这些数字不会得到回报
11-因为“1”正在重复
255-因为255正在重复。。所以
我应该如何通过php解决这个问题
谢谢如果你把数字看作一个字符串,这其实很简单。可以使用的函数是,它统计字符串中字符的出现次数:
$array = array(0, 1, 2, 3, 4, 11, 255, 555);
$result = array_filter($array, function ($number) {
$containsUniqueNumbers = true;
foreach (count_chars(strval($number), 1) as $count) {
// If any of the characters in the string occurs more than once:
if ($count > 1) {
$containsUniqueNumbers = false;
break;
}
}
return $containsUniqueNumbers;
});
变量
$result
现在将包含数组(0,1,2,3,4)
尝试一下,我所做的是,对于每个值,将值转换为数组,然后对于特定数组,使用数组_unique()
函数删除重复项,在这一步中,如果存在重复条目,那么输出的大小将小于原始字符串,因此我们可以使用sizeof函数检查大小,如果它们不相等,那么我们可以从数组中删除该值
<?php
$sample = array(0, 1, 2, 3, 4... 555);
foreach ($sample as $key => $value) {
if ($value > 9){
//Do this for value more than 2 digits
$original = str_split($value);
$check = array_unique($original);
if(sizeof($check)!= $original){
//Remove the value
unset($sample[$key]);
}
}
}
print_r($sample);
?>
带有代码。我没有尝试,因为我不知道如何解决。重复的数字必须是连续的,还是应该删除101
?$result=array\u filter($myArray,function($value){$c=str\u split($value);返回计数($c)==count(array\u unique($c));})代码>编写一个正则表达式,匹配没有重复数字的数字(进行谷歌搜索,你会发现这个)。然后使用array\u filter
匹配这些数字。