我在比较这些数组时遇到了问题。
简而言之,我想检查$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
}
}
答案 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