美高梅网址注册-澳门mgm4858集团登录网址
做最好的网站
来自 澳门mgm4858集团登录网址 2020-01-22 12:04 的文章
当前位置: 美高梅网址注册 > 澳门mgm4858集团登录网址 > 正文

array  '函数在数组中搜索给定的值,代码实现

二分法查找数组是否包含某一元素,兼容正反序,代码实现:复制代码 代码如下: $array[$midKey]) { $isAscSort ? $min = $midKey+1 : $max = $midKey-1; } else if ($value < $array[$midKey]) { $isAscSort ? $max = $midKey-1 : $min = $midKey+1; } }}$array = array( '4', '5', '7', '8', '9', '10', '11', '12');// 正序echo search;// 逆序rsort;echo search;这个之前搜过,看过百度百科的例子,还有一些其他技术宅写的Code,都有问题,根本就没实现,这些人不测试就放出来误导人,大家可以去搜搜看下,昨天闲来无事就自己写一个分享给大家。这个没考虑非顺序键的数组,主要是方法,如果需要大家可以自己扩展下。

对于一维数组我们可以如下操作

in_array  '函数在数组中搜索给定的值。in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array)

array_search 'array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict)

从这里来看,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为瓶颈;
当数据量比较大的时候,用array_key_exists比较合适。
当然这里array_key_exists占用的内存比较大,经测算

二分法查找数组是否包含某一元素,兼容正反序,代码实现:

 代码如下

<?php

$searchValue = (int)$_GET['key'];

本文由美高梅网址注册发布于澳门mgm4858集团登录网址,转载请注明出处:array  '函数在数组中搜索给定的值,代码实现

关键词: