[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]);
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");
多くのオプションがあります。配列キーがわかっている場合は、これを行うことができます
unset($arrayName[3]);
または、常に配列の最後にある場合
array_pop($arrayName);
これにより、配列から最後の値が削除されます