Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组\唯一或将值存储为数组中的键_Php - Fatal编程技术网

Php 数组\唯一或将值存储为数组中的键

Php 数组\唯一或将值存储为数组中的键,php,Php,我正在用可能包含重复项的字符串填充数组。这是一个大数组 我将每个字符串存储为数组本身的键,从而自动处理重复项是否更好 例如数组['test']=true 还是将它们全部存储在数组中更有效 例如数组[]='test' 然后执行一个数组\u unique?如果将每个字符串存储为数组本身的键,则插入每个元素需要N个时间,执行时间为O(N) 如果您使用传统的insert,然后使用array_unique进行检查,它将是>O(N) 基本上,第二个方法需要更多的时间,因为您将多次而不是一次迭代数组。如果您将

我正在用可能包含重复项的字符串填充数组。这是一个大数组

我将每个字符串存储为数组本身的键,从而自动处理重复项是否更好

例如
数组['test']=true

还是将它们全部存储在数组中更有效

例如
数组[]='test'


然后执行一个数组\u unique?

如果将每个字符串存储为数组本身的键,则插入每个元素需要N个时间,执行时间为O(N)

如果您使用传统的insert,然后使用array_unique进行检查,它将是>O(N)


基本上,第二个方法需要更多的时间,因为您将多次而不是一次迭代数组。

如果您将每个字符串存储为数组本身的键,则插入每个元素需要N个时间,执行时间为O(N)

如果您使用传统的insert,然后使用array_unique进行检查,它将是>O(N)


基本上,第二种方法需要更多的时间,因为您将多次而不是一次迭代数组。

创建一个包含不包含任何信息的键的数组是毫无意义的。所以我认为第二种选择更好。您还可以在使用第二种方法更新数组之前检查该值是否存在。但这也会增加问题的复杂性。大O表示法表示,将它们存储为存储桶(第一个示例)将使您的复杂性达到n,这与您在这种情况下可能获得的“速度”差不多。创建一个包含不包含任何信息的键的数组是毫无意义的。所以我认为第二种选择更好。您还可以在使用第二种方法更新数组之前检查该值是否存在。但这也会增加问题的复杂性。大O表示法表示,将它们存储为存储桶(第一个示例)将使您的复杂性达到n,这与您在本场景中可能得到的“速度”一样好。