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



我有一个表单,当用户单击"提交"按钮时,我正在使用Ajax。在AJAX相关的PHP页面中,我使用了 $ _ 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
)
)

的数组元素中> hidden_order_id asin 我正在串联唯一ID。

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

您可以通过preg_grep在输入数组的键上删除键

$keys = preg_grep('~^(asind+|hidden_order_idd+)~', array_keys($input));
foreach($keys as $key) {
   unset($input[$key]);
}

类似的事情应该做技巧:

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

请让我知道这是否不适合您的案例,我会修改答案。

最新更新