wordpress $ wpdb选择结果到一个数组

时间:2013-12-02 05:49:36

标签: php arrays wordpress wpdb

$wp->get_results将返回一个数组并格式化数组取决于是否指定了第二个参数;如果没有,它默认为一个对象,对吗?但我的问题是有可能检索结果然后存储它的数组?像这样$arr = array(1,2,3,4,5)?我主要担心的是这个......如果值存在,我想在数组中搜索。

如果返回的结果是这样的话,我现在无法做in_array

$arr = array(array('1'), array('2'), array('3'), array('4'), array('5'));

非常感谢任何帮助。感谢。

EDITED

我的$arr看起来像这样

Array ( [0] => stdClass Object ( [code] => 8 [id] => ) [1] => stdClass Object ( [code] => 1 [id] => ) )

EDITED

找到解决方案:

if (in_array(array('1'), $arr) {
  // found value
}

3 个答案:

答案 0 :(得分:0)

你不能直接匹配,为了匹配,你必须做这样的事情:

$arr = array(array('1'), array('2'), array('3'), array('4'), array('5'));
foreach($arr as $newar)
{
    if (in_array('2',$newar))
    {
        echo 'hello';
    }
}

答案 1 :(得分:0)

我在这里并没有真正关注这个问题,但假设你想在wpdb结果中找到一个特定的值......

foreach($arr as $key => $row) {
    if($row->code == $VALUE_YOU_WANT_TO_MATCH) {
       // do something
       break;
    }
}

答案 2 :(得分:0)

注意: $ arr是一个对象数组,它不是一个多维数组。

例如,我想检查一下我的结果中是否存在code = 1

foreach($arr as $myarr){
  if ($myarr->code == "1"){
     echo "record was found\n";
     break;//this line makes the foreach loop end after first success.
  }
 }