Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中比较和过滤数组中的值_Php_Arrays_Sorting - Fatal编程技术网

在php中比较和过滤数组中的值

在php中比较和过滤数组中的值,php,arrays,sorting,Php,Arrays,Sorting,我有一个包含电话号码的csv文件 大约有15个号码的区号为+44,20个号码的开头为+64(大约有40个区号)。我需要回显每一组的一个号码,然后扔掉剩下的 我使用fgetcsv()加载了所有内容。但是我找不到一种方法来做过滤部分。有人能告诉我如何在php中进行分类吗?您可以在读取文件中的行时对其进行过滤 $numbers = array('+1134124', '+11412421', '+41125125', …); $filtered = array_reduce($numbers, fu

我有一个包含电话号码的csv文件

大约有15个号码的区号为+44,20个号码的开头为+64(大约有40个区号)。我需要回显每一组的一个号码,然后扔掉剩下的


我使用fgetcsv()加载了所有内容。但是我找不到一种方法来做过滤部分。有人能告诉我如何在php中进行分类吗?

您可以在读取文件中的行时对其进行过滤

$numbers = array('+1134124', '+11412421', '+41125125', …);

$filtered = array_reduce($numbers, function ($f, $num) {
    return $f + array(substr($num, 0, 3) => $num);
}, array());
比如:


尝试使用csv文件内容替换$number

$numbers = array('+1134124', '+11412421', '+41125125','+41125124','+41125144','+41155124','+44125124','+44155124');                          

$final = array();

$received = array();

foreach($numbers as $snKey => $snValue )
{

    $snCode = substr($snValue,0,3);

    if(in_array($snCode,$received))
        continue;
    else
    {
        $received[] = $snCode;
        $final[] = $snValue;
    }
}
print_r($final);

有一个或三个字母的区号呢?
$numbers = array('+1134124', '+11412421', '+41125125','+41125124','+41125144','+41155124','+44125124','+44155124');                          

$final = array();

$received = array();

foreach($numbers as $snKey => $snValue )
{

    $snCode = substr($snValue,0,3);

    if(in_array($snCode,$received))
        continue;
    else
    {
        $received[] = $snCode;
        $final[] = $snValue;
    }
}
print_r($final);