查找多维数组的键

时间:2011-07-11 22:50:12

标签: php mysql sql

我有一个带有键和3个值的数组(day,start_time,end_time)。我想继续在这个数组中添加某些条目,同时确保每个条目都是唯一的。这意味着每次我尝试将一个项目添加到数组中时,我想确保它不存在于其中。如果确实存在,我希望能够找到指示该条目的密钥。

例如,这是预先存在的数组:

$array [0][0] = Monday
$array [0][1] = 2
$array [0][2] = 4
$array [1][0] = Tuesday
$array [1][1] = 3
$array [1][2] = 5

如果我尝试插入(星期三,3,5),那么它应该在索引2中输入。

如果我尝试插入(星期一,2,4),我需要知道它已经在那里并且被索引为0.

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我同意这里的其他答案 - 重组数组可能会更好,因此根本不需要担心重复。

但是,如果您想保留当前结构:请使用array_search

$array = ...
$unique_check = array_search(array('Monday', 2, 4), $array);

if ( $unique_check === false )
    // add to array
else
    // $unique_check = the array key at which the existing matching element is located

答案 1 :(得分:0)

为什么不这样组织阵列?

$array [Monday][0] = 2
$array [Monday][1] = 4
$array [Tuesday][0] = 3
$array [Tuesday][1] = 5