在匹配相同字母(ONLY)值的元素的第一个实例之后删除数组中的所有元素

时间:2014-10-29 14:10:50

标签: php arrays sorting

我需要删除数组中的所有元素,这些元素在点.之前匹配相同字符串值的元素的FIRST实例之后,即不考虑.之后的任何值< / p>

$array = ("ItemNew1.1", "Item2.0", "Item3Test.0", "Item2.2", "Item4.4", "Item2.5")

$array = ("ItemNew1.1", "Item2.0", "Item3Test.0", "Item4.4")

1 个答案:

答案 0 :(得分:0)

下面的代码创建一个临时数组来保存数组中已存在的值,它在原始数组上运行foreach,如果该值不在临时数组中,则将其插入到新数组中

$tempArray = array();
$newArray = array();
foreach($array as $value) {
    list($item, ) = explode(".", $value);
    $int = filter_var($item, FILTER_SANITIZE_NUMBER_INT);
    if(!in_array($int, $tempArray)) {
        $newArray[] = $value;
        $tempArray[] = $int;
    }
}

现在,$newArray是您想要的数组。

DEMO