php比较多维数组

时间:2016-02-28 18:59:23

标签: php arrays multidimensional-array

我在比较这些数组时遇到了问题。

简而言之,我想检查$tid_and_date_arr中是否存在$curr_vals。 (看看。很明显。)

然而,我的逻辑是有缺陷的,因为在循环期间第二次$tid_and_date_arr != $value[1]因此不会跳过该值。

我错过了什么?循环中的另一个循环?

$curr_vals = array(array('tid' => 22, 'date' => 1497250800), array('tid' => 22, 'date' => 1497337200));

$tid_and_date_arr = array('tid' => 22, 'date' => 1497250800));

foreach($curr_vals as $value){
  if ($tid_and_date_arr == $value) {
    // skip these values as we've already saved them
    continue;
  }
  else {
   // save these values as they are new
  }
}

1 个答案:

答案 0 :(得分:2)

好老array_search有什么问题?

$curr_vals = array(array('tid' => 22, 'date' => 1497250800), array('tid' => 22, 'date' => 1497337200));
//$tid_and_date_arr = array('tid' => 22, 'date' => 1497250800); -- this will output 0
$tid_and_date_arr = array('tid' => 22, 'date' => 1497337200);

$result = array_search($tid_and_date_arr, $curr_vals);

print_r($result);

这将输出您正在寻找的子阵列的键:

1