Heim >Backend-Entwicklung >PHP-Tutorial > 一段算法的实现,嵌套判断

一段算法的实现,嵌套判断

WBOY
WBOYOriginal
2016-06-13 12:55:18806Durchsuche

请教各位一段算法的实现,嵌套判断
假设有两个数组$a[0],$a[1],$a[2]和$b[0],$b[1],$b[2]

//===========判断块开始
先是对$a[0]和$b[0]的大小判断,如果为true,结束所有判断,跳到another code brick;
如果为false
去判断$a[1]和$b[1]的大小,如果为true,结束所有判断,跳到another code brick;
如果为false,那么
最后判断$a[2]和$b[2]的大小,结束判断
//===========判断块结束
another code brick;

请问难道这种应该用不断的if嵌套么?
如果不是,那么应该怎样实现?


------解决方案--------------------
方法函数用数组管理, 循环判断数组,根据下标选调用函数
<br />
 function f1(){<br />
  echo 1;<br />
 } <br />
 function f2(){<br />
  echo 2;<br />
 } <br />
 $fns=Array(f1,f2);<br />
 $a=  Array(3,2);<br />
 $b=Array(2,3);<br />
 foreach($a as $k => $v )<br />
   if( $v > $b[$k] ) $fns[$k]();<br />

------解决方案--------------------
for($i=0; $i   $k = 1;
  if($a[$i] == $b[$i]) break;
  $k = 0;
}
if($k) {
another code brick;
}
------解决方案--------------------
你这个感觉像不久前有人问对提交内容逐个判断的帖子,只不过那个是遇到false就结束判断

另一种思路:
<br />
<?php<br />
function comp($n, $m)<br />
{<br />
    if ($n ==$m) return True;<br />
    else return False;<br />
}<br />
$c = array_map("comp", $a, $b);<br />
if (count(array_intersect($c, array(True))) > 0){<br />
    another code brick;<br />
}<br />
?> <br />

不过这个要走完全部单元,可以说不符合你的题意
但你可以留着参考,在其他必须全部判断的时候还是有用的
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn