Php 在数组中查找部分匹配
我正试图获取任何带有“release_u3;”键的数据。。。我想我应该使用array_filter,但是我很难为param 2编写正确的函数 这是我的阵列:Php 在数组中查找部分匹配,php,Php,我正试图获取任何带有“release_u3;”键的数据。。。我想我应该使用array_filter,但是我很难为param 2编写正确的函数 这是我的阵列: Array ( [release_date] => Array ( [type] => date [value] => 1999-03-31 ) [duration] => Array (
Array
(
[release_date] => Array
(
[type] => date
[value] => 1999-03-31
)
[duration] => Array
(
[type] => time
[value] => 136
)
[directors] => Array
(
[type] => page
[value] => 13,14
)
[writers] => Array
(
[type] => page
[value] => 13,14
)
[release_us] => Array
(
[type] => date
[value] => 1999-03-30
)
[release_ge] => Array
(
[type] => date
[value] => 1999-06-16
)
)
我希望我的返回数组只包含存在版本的数组。。所以它看起来像:
Array
(
[release_date] => Array
(
[type] => date
[value] => 1999-03-31
)
[release_us] => Array
(
[type] => date
[value] => 1999-03-30
)
[release_ge] => Array
(
[type] => date
[value] => 1999-06-16
)
)
用法:
preg\u grep\u键(“/release\u/”,$yourray)
只需创建一个foreach
即可循环使用原始数组:
$nArr = array();
foreach($arr as $key => $value) {
if(strpos($key, 'release_') !== false) {
$nArr[$key] = $value;
}
}
编辑
或以功能形式:
function checkKeys($arr, $keyCheck) {
$nArr = array();
foreach($arr as $key => $value) {
if(strpos($key, $keyCheck) !== false) {
$nArr[$key] = $value;
}
}
return $nArr;
}
然后使用
$release=checkkey($myArray,'release")代码>这里可能的答案是:您正在寻找PHP内置函数吗?因为foreach
循环将是一个简单的解决方案。
function checkKeys($arr, $keyCheck) {
$nArr = array();
foreach($arr as $key => $value) {
if(strpos($key, $keyCheck) !== false) {
$nArr[$key] = $value;
}
}
return $nArr;
}