[0] => LR-153-TKW
[1] => Klaten
[2] => Rectangular
[3] => 12x135x97
我有一个看起来像这样的数组。 我想将 12x135x97 完全删除到母阵列,那么我将如何做到这一点?
您可以使用
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);
PHP 有 unset(( 函数。您可以使用它来删除数组的变量或索引。
unset($your_var[3]);
见 http://php.net/manual/en/function.unset.php
你有很多选择:如果您知道数组键,那么您可以这样做
unset($arrayName[3]);
或者如果它总是在阵列的末尾
array_pop($arrayName);
这将从数组中删除最后一个值
使用 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");