本文实例讲述了PHP实现二维数组中的查找算法。分享给大家供大家参考,具体如下:

方法1:silu从左下角最后一行的第一个元素开始,遍历。如果小于target 则遍历该行的所有元素,找到结束。如果大于继续往上一行进行。等于直接结束。

function Find($target, $array)

{

$m_y = count($array['0']);

$m_x = count($array);

for($i=$m_x-1;$i>=0;$i--){

if($array[$i]['0'] < $target){

for($j=1;$j

if($array[$i][$j] == $target){

return 1;

break;

}

}

}

if($array[$i]['0'] == $target){

return 1;

break;

}

}

}

方法2:

function Find($target, $array)

{

$m_y = count($array['0']);

$m_x = count($array);

$i = 0;

for($i =$m_x-1,$j=0;$i>=0&&$j

if($array[$i][$j]

$j++;

continue;

}

if($array[$i][$j]>$target){

$i--;

continue;

}

if($array[$i][$j] == $target){

return 1;

}

}

}

方法3:

function Find($target, $array)

{

$m_y = count($array['0']);

$m_x = count($array);

$i = $m_x-1;

$j = 0;

while(1){

if($array[$i][$j]

$j++;

}

if($array[$i][$j]>$target){

$i--;

}

if($array[$i][$j] == $target){

return 1;

}

if($i == 0||$j == $m_y-1){

return 0;

}

}

}

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

php二维数组中的查找,PHP实现二维数组中的查找算法小结相关推荐

  1. php查询二维数组中的值,如何在二维数组中查找一个指定的数值

    最近整理之前自己学习Java时的一些代码笔记,可能都是一些比较基础的Java知识,在这里只是给需要的人参考一下. 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排 ...

  2. java中数组的返回值是什么类型_java基础学习:数组的常用操作与基础二维数组用法、及基本数据类型和引用数据类型赋值的区别...

    一.Arrays jdk中为了便于开发,给开发者提供了Arrays类,其中包含了很多数组的常用操作.例如快速输出.排序.查找等. 1.数组的常用方法 1.数组以字符串形式的输出,2.sort对数组排序 ...

  3. php判断二维数组里值均为空,php中经典方法实现判断多维数组是否为空

    php中经典方法实现判断多维数组是否为空 复制代码 代码如下: //判断一个数组是否为空 /** array( ); 空 array( array( ), array( ), array( ) ); ...

  4. VC++中从txt文本中读取数据并且存到二维数组中

    这几天因为在做作业,所以不仅会想到这一类有关的问题.现在我需要实现的是讲txt文件的数据读取出来并且存储到一个二维数组中.,首先为了对待什么样的矩阵我们都可以读取,我们就要设置一个动态的矩阵,这样当我 ...

  5. C语言中的二级指针和二维数组问题

    关于二级指针和二维数组两者差别很大,不可以直接用二级指针传递二维数组 首先来看看二维数组在内存中是如何组织的呢? 一维数组 T arr1 = new T[9]  二维数组T arr2 = new T[ ...

  6. php 去除二维数组中的包含某一个值的数组

    今天写程序,遇到一个的问题. 我想把一个二维数组中的包含某一个值的数组去掉,并重新生成索引下标 例如: $all_zone=array(array("id"=>"R ...

  7. Java黑皮书课后题第8章:*8.27(列排序)用下面的方法实现一个二维数组中的列排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵

    *8.27(列排序)用下面的方法实现一个二维数组中的列排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...

  8. Java黑皮书课后题第8章:*8.26(行排序)用下面的方法实现一个二维数组中的行排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵

    *8.26(行排序)用下面的方法实现一个二维数组中的行排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...

  9. php中数学如何二维数组,如何用数学知识理解多维数组

    今天工作遇到了一个问题,就是foreach和多维数组的问题,boss有个需求,让我把qric_order_attribute表中的某一个字段查出来,接到任务的时候我以为很简单,不就是一个select语 ...

  10. 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的

    <c primer pius>第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处 ...

最新文章

  1. Nodejs.热部署方法
  2. pythongui界面实例带注释_python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例...
  3. 开发日记-20190708 关键词 读书笔记 《Perl语言入门》Day 5
  4. C#玩转指针(二):预处理器、using、partial关键字与region的妙用
  5. Java忽略算术溢出,IEEE-754:“最小”溢出条件
  6. 如何在Spring boot中修改默认端口
  7. [蓝桥杯][2018年第九届真题]全球变暖(DFS)
  8. python列表套着列表_python 列表套列表去重
  9. (转)【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
  10. Python零基础入门(四)——Python面向对象编程[学习笔记]
  11. vector迭代器的使用
  12. exchange2010 DAG备份
  13. 关于typedef的使用
  14. 【ObjectArx C++】CAD二次开发第一课 如何开发调试
  15. MacOS获取辅助功能权限控制鼠标点击事件
  16. 开源项目之开源的2D游戏引擎 HGE
  17. 源代码管理工具——VSS详解
  18. 如何做好论文汇报(转载)
  19. 关于远程连接挂载磁盘的理解(.bat文件、批处理)
  20. 进化:从孤胆极客到高效团队_极客评论:使用Dia作为Microsoft Visio的免费替代品...

热门文章

  1. J-LINK序列号修改
  2. Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(
  3. 系统性能调优(5)----Java循环与字符串代码优化
  4. 运用 autoconf 和 automake 自动生成 Makefile 实例讲解
  5. 如何定义和实现一个类的成员函数为回调函数
  6. python中的log模块笔记
  7. python中的os操作文件,文件路径
  8. Windows平台使用Gitblit搭建Git服务器图文教程
  9. MVC 服务器文件下载
  10. 在ASP.Net和IIS中删除不必要的HTTP响应头