[英]php code for find largest and second largest number without using array
<form id="form1" name="form1" method="post" action="">
<input name="txt1" type="text" /><br />
<input name="txt2" type="text" /><br />
<input name="txt3" type="text" /><br />
<input name="s" type="submit" value="Find No"/>
</form>
这是我的html代码。
<?php
$a = 10;
$b = 25;
$c = 20;
if($a > $b)
{
if($a > $c)
{
echo "a is biggest number";
}
else
{
echo "c is biggest number";
}
}
if($b > $c)
{
echo "b is biggest number";
}
?>
`这是查找代码
在三个数字中最大。 我希望得到最大和第二大的否
给定一个从输入字段获得的数字字符串数组,例如,一个镜像原始值的字符串:
$a = array('1', '5', '19', '200', '999');
您可以使用以下方法将其转换为真实的数值数组:
$a = array_map('intval', $a);
然后完全按照之前的步骤进行操作:
$last = max($a);
$second = max(array_diff($a,[$last]));
在这里摆弄。
您必须使用输入框和一个提交按钮来实现非常简单的基本工作模型。
HTML:
<form action="/path to your php file or leave blank if both html and php are in same file">
<input type="text" name="arr" value=''>
<input type="submit" name="submit" value="submit">
</form>
//现在,用户可以在输入框中提供带有空格的输入,例如9 11 13 15 16 29等。
的PHP
<?php
if(isset($_REQUEST['arr']) && !empty($_REQUEST['arr'])){
$a = explode(' ', $_REQUEST['arr']);
$last = max($a);
$second = max(array_diff($a,[$last]));
echo $second;
echo $last;
?>
我认为这可以解决您的查询。
在这里,我们使用具有最大和第二大数字的反向数组排序
$result = array(1,5,19,200,999);
$count = count($result);
for($i=0;$i<$count;$i++){
for($j=$i+1;$j<$count;$j++){
if($result[$i]<$result[$j]){
$m = $result[$i];
$result[$i] = $result[$j];
$result[$j] = $m;
}
}
}
echo "Largest Number : ".(!empty($result[0])?$result[0]:FALSE)." Largest Second Number : ".(!empty($result[1])?$result[1]:FALSE);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.