[英]How to filter any array by key text(name)?
我想按鍵的文本過濾數組。
假設我有一個像這樣的數組:
Array
(
[FAR] =>
[NEAR] => 1
[IMMEDIATE] =>
[FAR_beacon_location] =>
[FAR_test] =>
[FAR_test2] =>
[NEAR_test] => 6
[NEAR_test2] => 6
)
從這個數組中,我只需要其鍵的文本以NEAR
開頭的元素。
我怎么做?
試試這個代碼。
$res_arr = array();
foreach($my_array as $key=>$val) {
if(strpos($key, "NEAR") === 0) {
//Key matches,
$res_arr[] = $val;
}
}
print_r($res_arr);
這樣吧
<?php
$arr=Array
(
'FAR' => '',
'NEAR' => 1,
'IMMEDIATE' =>'',
'FAR_beacon_location' =>'',
'FAR_test' => '',
'FAR_test2' =>'',
'NEAR_test' => 6,
'NEAR_test2' => 6
);
foreach($arr as $k=>$v)
{
if(substr($k, 0, 4)!='NEAR')
{
unset($arr[$k]);
}
}
echo "<pre>";
print_r($arr);
輸出:
Array
(
[NEAR] => 1
[NEAR_test] => 6
[NEAR_test2] => 6
)
function is_NEAR($var)
{
return strpos($var, "NEAR") === 0;
}
print_r(array_flip(array_filter(array_flip($arr), "is_NEAR")));
$array=Array
(
[FAR] =>
[NEAR] => 1
[IMMEDIATE] =>
[FAR_beacon_location] =>
[FAR_test] =>
[FAR_test2] =>
[NEAR_test] => 6
[NEAR_test2] => 6
)
foreach($array as $key=>$value)
{
if(strpos($key,"NEAR")==0)
{
// do your task
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.