0
[0] => LR-153-TKW
[1] => Klaten
[2] => Rectangular
[3] => 12x135x97

我有一个看起来像这样的数组。我想将 12x135x97 完全删除到母阵列,那么我该怎么做呢?

4

4 回答 4

4

您可以使用unset($arr[3]);. 它将删除该数组索引。每当你想删除一个数组值时,你可以使用PHP unset() 方法

正如你被问到你的评论: basically i just want to remove all index that have "X**X" this pattern digit 'x' digit

这是您可以使用的代码:

    $arr = array("LR-153-TKW", "Klaten", "Rectangular", "12x135x97", "xxxx");
    $pattern_matched_array = preg_grep("/^[0-9]+x[0-9]+x[0-9]*/", $arr);
    if(count($pattern_matched_array) > 0)
    {
        foreach($pattern_matched_array as $key => $value)
        {
            unset($arr[$key]);
        }
    }
    print_r($arr);
于 2012-08-31T08:39:25.307 回答
1

PHP 有 unset() 函数。您可以使用它来删除变量或数组索引。

unset($your_var[3]);

http://php.net/manual/en/function.unset.php

于 2012-08-31T08:41:06.493 回答
0

使用unset,找到它你可以这样做:

for($i = 0; $i < count($array); $i++){
    if($i == "12x135x97"){
        unset($array[i]);
        break;
    }
}

除非您知道密钥,否则您可以执行以下操作:

unset($array[3]);

如果您的阵列有数千个项目长,它不是最高效的,但对于这项工作就足够了。

把它变成一种方法,将有助于更好的编码。

function removeItem($item){
    for($i = 0; $i < count($array); $i++){
        if($i == $item){
            unset($array[i]);
            break;
        }
    }
    return $array;
}

并称之为:

removeItem("12x135x97");
于 2012-08-31T08:41:27.903 回答
0

你有很多选择:如果你知道数组键,那么你可以这样做

unset($arrayName[3]);

或者如果它总是在你的数组的末尾

array_pop($arrayName);

这将从数组中删除最后一个值

于 2012-08-31T08:42:46.990 回答