代码之家  ›  专栏  ›  技术社区  ›  user3408779

如何从数组中删除未知索引元素

  •  0
  • user3408779  · 技术社区  · 5 年前

    我有一个表单,当用户单击submit按钮时,我正在使用ajax。在与ajax相关的php页面中 美元邮报 (没有指定相关值)。

    这很管用。但现在我已经在那个表单上实现了一个引导对话框弹出。现在,从post方法中,我也可以从对话框中获取值。这让我陷入了问题。这些值来自bootstrap model,是动态值。这是我的post数组。

    Array(
    [start_val] => 0
    [accept-82RUFA55] => Array
    (
        [0] => 4046228181417
        [1] => 4046228181448
        [2] => 331800000221
    )
    
    [hidden_order_id244] => 82RUFA55
    [asin244] => 331800000221
    [accept-82RUFA54] => Array
    (
        [0] => 4046228181417
        [1] => 4046228181448
        [2] => 331800000221
    )
    
    [hidden_order_id239] => 82RUFA54
    [asin239] => 331800000221
    [accept-82RUFA53] => Array
    (
        [0] => 4046228181417
        [1] => 4046228181448
        [2] => 331800000221
    )
    

    )

    但我想要的数组应该如下。

    Array
    (
    [start_val] => 0
    [accept-82RUFA55] => Array
    (
        [0] => 4046228181417
        [1] => 4046228181448
        [2] => 331800000221
    )
    [accept-82RUFA54] => Array
    (
        [0] => 4046228181417
        [1] => 4046228181448
        [2] => 331800000221
    )
    [accept-82RUFA53] => Array
    (
        [0] => 4046228181417
        [1] => 4046228181448
        [2] => 331800000221
    )
    
    )
    

    在数组元素中 隐藏订单ID 阿辛 我正在连接唯一的id。

    这个ID是动态的。所以我想从数组中删除这些元素。 那么如何从数组中删除这些值呢?任何帮助都将不胜感激。

    2 回复  |  直到 5 年前
        1
  •  2
  •   splash58    5 年前

    你可以通过preg grep在输入数组的键上获取要删除的键

    $keys = preg_grep('~^(asin\d+|hidden_order_id\d+)~', array_keys($input));
    foreach($keys as $key) {
       unset($input[$key]);
    }
    
        2
  •  0
  •   Martin Dimitrov    5 年前

    像这样的事情应该能起到作用:

    for ($i=0; $i < $max_dynamic_id; $i++) { 
        unset($arr['hidden_order_id' . $i]);
        unset($arr['asin' . $i]);
    }
    

    请告诉我,如果这不适合你的情况与原因,我会修改答案。