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` 

我想删除与家具尺寸匹配的所有物品。是否可以使用一个正则表达式来做到这一点?真的很感激帮助

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);

换句话说,您使用尝试将其元素与模式一一匹配的函数过滤这些数组中的每一个......

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

...这意味着'匹配字符串的开头,然后是任意数量的数字,然后是x字符,然后是任意数量的数字'。从我在您的示例中看到的情况来看,这是一种要遵循的模式,因为^\d+x\d+x\d+它与 '40X40' 值不匹配。

于 2012-09-04T09:21:55.523 回答