0
Array
(
    [0] => Oramen
    [1] => 20
    [2] => OT-301-FNS
    [3] => 40X40
)
Array
(
    [0] => LR-153-TKW
    [1] => Klaten
    [2] => Rectangular
    [3] => 
    [4] => 12x135x97
)
Array
(
    [0] => GN-187-TKW
    [1] => GARDEN
    [2] => LAMP
    [3] => POST
    [4] => A
    [5] => 30x30x130.JPG
)
Array
(
    [0] => BANDUNG
    [1] => ENTERTAINMENT
    [2] => TABLE
    [3] => LR-315-TKW
    [4] => 
    [5] => -
    [6] => 180x50x46.5
)`enter code here` 

家具の寸法に一致するすべてのアイテムを削除したいと考えています。1つの正規表現を使用してそれを行うことは可能ですか? 助けてくれて本当にありがとう

4

1 に答える 1

0

おそらく次のようなものが必要です。

foreach ($array_of_arrays as &$some_array) {
  $some_array = array_filter($some_array, function($el) { 
    return ! preg_match('#^\d+x\d+#i', $el);
  });
}
unset($some_array);

つまり、これらの各配列を、その要素を 1 つずつパターンと一致させようとする関数でフィルター処理します...

`/^\d+x\d+/i`

...これは、「文字列の先頭に一致し、次に任意の桁数、次にx文字、任意の桁数に一致する」ことを意味します。あなたの例で見たものから、これは^\d+x\d+x\d+「40X40」の値と一致しないため、従うべきパターンです。

于 2012-09-04T09:21:55.523 に答える