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程序设计有所帮助。

相关文章

Thinkphp事务操作实例(推荐)

实例如下: //开启mysql事务操作 $model = M(); $model->startTrans(); $flag=false; $deal1 = M('ppdd')-...

PHP 导出数据到淘宝助手CSV的方法分享

PHP 导出数据到淘宝助手CSV的方法分享

先上张图实现原理 先读取数据,用相应的数据段写入CSV的行的对应段,然后保存为CSV即可,在最新版的淘宝助手中测试通过了 实现代码复制代码 代码如下:function totaobao(...

PHP常见的几种攻击方式实例小结

本文实例总结了PHP常见的几种攻击方式。分享给大家供大家参考,具体如下: 1.SQL Injection(sql注入) ①.暴字段长度 Order by num/* ②.匹配字段 and...

解析PHP 使用curl提交json格式数据

复制代码 代码如下:$data = array("name" => "Hagrid", "age" => "36");$data_string = json_encode($...

浅析php-fpm静态和动态执行方式的比较

本文实例讲述了php-fpm静态和动态执行方式的比较。分享给大家供大家参考,具体如下: 前段时间配置php-fpm的时候,无意间发现原来他还有两种执行方式。与Apache一样,他的进程数...