1
Есть ли разница в O (n) следующих операций?Проверка работоспособности массива PHP-массива против проверки значений существования
$a1 = [1=>'',2=>'', 3=>'']
isset($a1[2])
$a2 = [1,2, 3]
in_array(2, $a2)
Есть ли разница в O (n) следующих операций?Проверка работоспособности массива PHP-массива против проверки значений существования
$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 элементы
[in_array] (HTTP://php.net/manual/en/function.in-array.php) для значений ... sooo ... они не предназначены для одного и того же. –
это моя догадка ... 'isset' быстрее, потому что' in_array() 'должен смотреть на значения. 'isset' просто хочет знать, существует ли этот индекс независимо от того, что он на самом деле имеет. –
Возможный дубликат [что быстрее: в \ _array или isset?] (Http://stackoverflow.com/questions/13483219/what-is-faster-in-array-or-isset) – rjdown