1.利用JS的prompt輸入使用者想要輸入的值.
2.使用HTML表單的text標籤將輸入的數值傳遞至PHP處理檔案
# 數值判定,選出最大值和位置.
本文主要和大家介紹了JS+PHP實現用戶輸入數字後顯示最大的值及是第幾個的相關位置,文中給出了詳細的示例程式碼供大家參考學習,需要的朋友們下面來一起看看吧,希望能幫助大家。
由淺入深:
1.在JS實作取得陣列的最大值.
var a=[10,20,40,30]; // var max=0; var max=a[0]; for(var i=0;i<a.length;i++){ if(max<a[i]){ max=a[i]; } } alert("最大数为"+max);
這裡值得注意的是:不可以直接設定一個變數max =0,因為你不確定以後輸入的數字是小於0的還是大於0的[案列是大於0的],所以應該選擇數組裡面的一個數,就數組的第一個好了max=a[0 ] .
因為JS語言是基於物件面向過程的,JS裡面所有的事物都可以是物件,所以它的陣列有屬性,length就是JS陣列的一個獲得數組長度的屬性,有了這個屬性就可以遍歷數組,然後進行一一比較.
2.在JS實現獲得數組的最大值最小值和他們的位置(即在數組中第幾個)
[註:本案例位置+1是為了方便查看,JS數組開始也是0]
var a=[10,20,40,30]; var max=a[0];//不能指定一个数为最大值[var max=0](除非是确定的情况下),应该用数组里面的值,a[0]即让数组第一个值作为比较的最大值. var maxaddress=0; var min=a[0]; var minaddress=0; for(var i=0;i<a.length;i++){ if(max<a[i]){ max=a[i]; maxaddress=i } if(min>a[i]){ min=a[i]; minaddress=i } } alert("最大数为"+max+"位置为第"+(maxaddress+1)+"个"); alert("最小数为"+min+"位置为第"+(minaddress+1)+"个");
3.現在改成用prompt來進行用戶輸入獲得值來求最大值等等.
困難:
1.如何輸入,用prompt
2.如何將一個字串轉為陣列,並且要轉換格式呢?
前提知識:
1.分割字串用到的是JS的string物件的spilt方法(注意,JS一切皆是物件,因此叫方法,不叫函數) 2.讓一個"abc "字串轉為number類型,怎麼轉.字符串转数字类型 ◆Number ★数字类型的字符串,转换之后得到的数字。var n1="123"; var n2=Number(n1);//123 ★★非数字字符串,转换之后得到是NaN。var n1="123abc"; var n2=Number(n1);//Nan ★小数类型的字符串,转换之后得到的是原数字。var n1="123.23"; var n2=Number(n1);//123.23 ◆parseInt ★整数数字类型的字符串,转换之后得到的整数数字。var n1="123"; var n2=parseInt(n1);//123 ★数字开头的字符串,转换之后得到的是前边的数字。var n1="123abc"; var n2=parseInt(n1);//123 ★非数字开头的字符串,转换之后得到的是NaN。。var n1="abc123"; var n2=parseInt(n1);//NaN ★★小数类型的字符串,转换之后取整(小数点直接省略)。var n1="123.53"; var n2=parseInt(n1);//123 var n1="-5.93"; var n2=parseInt(n1);//-5 ◆parseFloat ★整数数字类型的字符串,转换之后得到的整数数字。var n1="123"; var n2=parseFloat(n1);//123 ★数字开头的字符串,转换之后得到的是前边的数字。var n1="123abc"; var n2=parseFloat(n1);//123 ★非数字开头的字符串,转换之后得到的是NaN。var n1="abc123"; var n2=parseFloat(n1);//NaN ★★小数类型的字符串,转换之后得到的是原数字。var n1="123.23"; var n2=parseFloat(n1);//123.23 转布尔类型 ★数字和字符串转完之后为true。 ★undefined、null、0转完之后为false. var n1=123; var n2=Boolean(n1);//true var n1="123"; var n2=Boolean(n1);//true var n1="0"; var n2=Boolean(n1);alert(n2);//true var n1; var n2=Boolean(n1);//false var n1=null; var n2=Boolean(n1);//false var n1=0; var n2=Boolean(n1);//false
<script> //var a=new Array(-12,34,56,88,32,"aa","-34.33","-34.34",12.23); /*var a=new Array(prompt("请输入数字")); document.write(a);*/ var b=prompt("请输入要比较的数,用\",\"号隔开"); var a=new Array(); a=b.split(","); // for(var j=0;j<a.length;j++){ // document.write(a[j]); // } alert(typeof(a)+" JS数组本质是对象啊!!");//本质是对象 PHP数组就是数组,没有属性(比如length) document.write(a+"<br>"); console.log(a+"<br>"); var max=parseFloat(a[0]); //document.write(max); var maxaddress=0; var min=parseFloat(a[0]); var minaddress=0; for(var i=0;i<=a.length;i++){ var shu=parseFloat(a[i]); if(shu>max){ max=shu; maxaddress=i; } if(shu<min){ min=a[i]; minaddress=i; } } document.write("最大数为"+max+"位置为第"+(maxaddress+1)+"个"+"<br>"); document.write("最小数为"+min+"位置为第"+(minaddress+1)+"个"); </script>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="deal.php" method="post"> 请输入数字:<input type="text" id="shu" name="shuzi" value=""> <input type="submit" value="提交"> </form> </body> </html>
<script type="text/javascript"> var a=prompt("请输入数字"); document.getElementById("shu").value=a; </script>
<?php header("Content-type:text/html;charset=utf-8"); $a=$_POST['shuzi']; //var_dump($a); $b=explode(',',$a); for($i=0;$i<count($b);$i++){ echo $b[$i]; } var_dump($b); $max=$b[0]; $maxaddress=0; for($j=0;$j<count($b);$j++){ if($b[$j]>$max){ $max=$b[$j]; $maxaddress=$j; } } echo "最大值是".$max."<br>"; echo "位置为第".($maxaddress+1)."个"; ?>
JS+PHP實現使用者輸入數字後顯示最大的值及所在位置實例詳解
###以上是JS和PHP代碼實現用戶輸入數字後顯示最大的值的詳細內容。更多資訊請關注PHP中文網其他相關文章!