仅保留关联 php 数组中具有特定名称模式的元素,并从数组中删除剩余元素
Only keep elements with a certain name pattern in an associative php array and remove the remaining elements from the array
我有一个关联的 Php 数组,在 print_r
上看起来像这样
Array ( [dyna[0]] => one [add[0]] => ⇊ [rem[0]] => Delete Column [dyna[1]] => two [add[1]] => ⇊ [rem[1]] => Delete Column [dyna[2]] => three [add[2]] => ⇊ [rem[2]] => Delete Column [dyna[3]] => four [add[3]] => ⇊ [rem[3]] => Delete Column [input[1]] => numbers [store_last] => 6 )
问:我只想保留数组中具有键的元素 -> dyna[0] , dyna[1] 并删除剩余的键和具有键的值,例如 add[0] 和雷姆[1]。
可以吗?请推荐
谢谢。
array_filter 允许根据用户函数轻松进行数组过滤:
$oldArray['dyna[0]']='a';
$oldArray['zzzzzzzzzzzzzz']='b';
$oldArray['dyna[1]']='c';
$oldArray['zzzzzzzzzzzz']='d';
print_r($oldArray);
$newArray = array_filter(
$oldArray,
function ($key) {
return preg_match('/^dyna\[\d+\]/', $key); //regular expression to match key name
},
ARRAY_FILTER_USE_KEY
);
print_r($newArray);
//输出:
Array
(
[dyna[0]] => a
[zzzzzzzzzzzzzz] => b
[dyna[1]] => c
[zzzzzzzzzzzz] => d
)
Array
(
[dyna[0]] => a
[dyna[1]] => c
)
我有一个关联的 Php 数组,在 print_r
上看起来像这样 Array ( [dyna[0]] => one [add[0]] => ⇊ [rem[0]] => Delete Column [dyna[1]] => two [add[1]] => ⇊ [rem[1]] => Delete Column [dyna[2]] => three [add[2]] => ⇊ [rem[2]] => Delete Column [dyna[3]] => four [add[3]] => ⇊ [rem[3]] => Delete Column [input[1]] => numbers [store_last] => 6 )
问:我只想保留数组中具有键的元素 -> dyna[0] , dyna[1] 并删除剩余的键和具有键的值,例如 add[0] 和雷姆[1]。
可以吗?请推荐
谢谢。
array_filter 允许根据用户函数轻松进行数组过滤:
$oldArray['dyna[0]']='a';
$oldArray['zzzzzzzzzzzzzz']='b';
$oldArray['dyna[1]']='c';
$oldArray['zzzzzzzzzzzz']='d';
print_r($oldArray);
$newArray = array_filter(
$oldArray,
function ($key) {
return preg_match('/^dyna\[\d+\]/', $key); //regular expression to match key name
},
ARRAY_FILTER_USE_KEY
);
print_r($newArray);
//输出:
Array
(
[dyna[0]] => a
[zzzzzzzzzzzzzz] => b
[dyna[1]] => c
[zzzzzzzzzzzz] => d
)
Array
(
[dyna[0]] => a
[dyna[1]] => c
)