Есть ли разница в O (n) перечисленных ниже операций?
$a1 = [1=>'',2=>'', 3=>'']
isset($a1[2])
$a2 = [1,2, 3]
in_array(2, $a2)
isset($a1[2])
имеет сложность O (1)
in_array(2, $a2)
имеет сложность O (3) в вашем случае или вообще O (N), где N = count_of_the_array elements
Других решений пока нет …