簡體   English   中英

如何通過鍵文本(名稱)過濾任何數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM