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对csv文件的读取,写入,输出下载操作详解

复制代码 代码如下:<?php       $file = fopen('text.csv','r');   ...

PHP 多维数组排序实现代码

array_multisort (PHP 4, PHP 5) array_multisort -- 对多个数组或多维数组进行排序 说明 bool array_multisort ( ar...

关于PHP转换超过2038年日期出错的问题解决

前言 最近在写一个项目接口。测试中发现服务器上测试正常的功能,在本地一直有问题。一步步的排查,最终锁定问题是由于函数strtotime返回了一个false值,导致数据插入数据库失败。 相...

PHP编程实现阳历转换为阴历的方法实例

本文实例讲述了PHP编程实现阳历转换为阴历的方法。分享给大家供大家参考,具体如下: php类 <?php /** * Class Lunar * 农历 节气 节日...

PHP经典面试题集锦

本文较为详细的分析了PHP经典面试题。分享给大家供大家参考。具体如下: 做了一下网络上的php题目,不知不觉做到现在.....把答案贴出来,供参考之用。 1、用PHP打印出前一天的时间格...