在数组php中查找/选择指定的ID

时间:2014-12-10 12:39:44

标签: php arrays

我有数据库的数组,并且必须只选择这些项目有什么" tid" = 1

array(3) {
  [1]=>
  array(4) {
    ["tid"]=> "1"
    ["title"]=> "Google"
    ["url"]=> "http://google.com/"
    ["description"]=> "A very efficient search engine."
  }
  [2]=>
  array(4) {
    ["tid"]=> "2"
    ["title"]=> "Facebook"
    ["url"]=> "http://facebook.com/"
    ["description"]=> "Trade securities, currently supports nearly 1000 stocks and ETFs"
  }
  [3]=>
  array(4) {
    ["tid"]=> "1"
    ["title"]=> "Yandex"
    ["url"]=> "http://yandex.ru/"
    ["description"]=> "Another efficient search engine popular in Russia"
  }
}

我怎样才能从数组中选择这些具有" tid" = 1?

4 个答案:

答案 0 :(得分:3)

<?php
$final_arr = array();
foreach($tid_arrs as $tid_arr){
    if($tid_arr['tid'] == 1){
        $final_arr[] = $tid_arr;
    }
}

print_r($final_arr);
?>

答案 1 :(得分:1)

尝试使用array_filter函数:http://php.net/manual/en/function.array-filter.php这应该有帮助。

print_r(array_filter($array, "filter_function"));

function filter_function($element){
    return (int)$element['tid'] === 1;
}

答案 2 :(得分:1)

让我们说你开始数组是$ arr。

$result = array();
foreach ($arr as $arrItem) {
  if ((array_key_exists('tid', $arrItem)) && ($arrItem['tid'] == "1")){
     $result[] =  $arrItem;
  }
}

$ result应该是您的例外情况。

答案 3 :(得分:1)

$filteredArray = array();

for($i = 0, $end = count($array);$i < $end;i++)
{ 

    if($array[$i]["tid"] === "1") 
    {
       $filderedArray[] = $array[$i];
    }
 }

那样$ filteredArray将只包含带有tid 1的项目;