PHP区块查询实现方法分析

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP区块查询实现方法。分享给大家供大家参考,具体如下:

分块查询是介于顺序查询和折半查询之间的一种查询方法。

其实折半查询就是每次折半的分块查询,那么分块查询就是把数组分成区块,然后每个区块进行查询的查询方法。

本例的数组是已经排序号的,分块后进行顺序查询。

php代码:

<?php
$arr = array(1,2,3,4,5,6,7,8,9,10);
print_r(blockSearch(3,1,$arr));
function blockSearch($block,$key,$arr){
  $length = count($arr);
  $position = 0;
  while($length >= $position){//数组元素比较完了,就结束循环
    for($i=1;$i<=$block;$i++){//循环次数为定义的块的大小
      if($arr[$position] == $key){//找到了元素
        return 'value:'.$arr[$position] .';position:'.$position;
      }
      $position++;//每比较一次,位置后移一次
    }
  }
}
?>

运行结果:

value:1;position:0

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php异常处理方法实例汇总

本文实例讲述了php异常处理方法。分享给大家供大家参考。具体如下: <?php $path = "D://in.txt"; try //检测异常 { fil...

解析smarty 截取字符串函数 truncate的用法介绍

smarty truncate 截取字符串从字符串开始处截取某长度的字符,默认的长度为80指定第二个参数作为截取字符串的长度默认情况下,smarty会截取到一个词的末尾,如果需要精确到截...

php使用数组填充下拉列表框的方法

本文实例讲述了php使用数组填充下拉列表框的方法。分享给大家供大家参考。具体实现方法如下: <?php $data = array( (object)array("...

PHP中spl_autoload_register()和__autoload()区别分析

PHP中spl_autoload_register()和__autoload()区别分析

关于spl_autoload_register()和__autoload(),相信大多数都会选择前者了? 看两者的用法: 复制代码 代码如下://__autoload用法function...

深入php数据采集的详解

这里介绍两个php采集能用到的好工具。一个是Snoopy,一个是simple_html_dom。采集还有很多方式(其实本质就2-3种,其他的都是衍生的),php自带了几个方法也能直接进行...