[0] => LR-153-TKW
[1] => Klaten
[2] => Rectangular
[3] => 12x135x97
我有一个看起来像这样的数组。我想完全删除12x135x97到母阵列,所以我该怎么做?
答案 0 :(得分:4)
您可以使用unset($arr[3]);
。它将删除该数组索引。只要您想删除数组值,就可以使用PHP unset() method。
当你被问到评论时:
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);
答案 1 :(得分:1)
答案 2 :(得分: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");
答案 3 :(得分:0)
你有很多选择: 如果你知道数组密钥,那么你可以这样做
unset($arrayName[3]);
或者它总是在数组末尾
array_pop($arrayName);
这将删除数组中的最后一个值