宝哥软件园

JS PHP让用户输入数字后显示最大值和位置

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

本文主要向您介绍JS PHP在用户输入数字后显示最大值和位置。目的是区分JS和PHP的区别,拓宽思路。我们来看看详细的介绍:

分析

1.使用JS的提示输入用户想要输入的值。

2.使用HTML表单的文本标签将输入值传递给PHP处理文件

最大值和位置在3.PHP通过数值判断选择。

由浅入深:

1.获取JS中数组的最大值。

var a=[10,20,40,30];//var max=0;var max=a[0];for(var I=0;ia .长度;I){ if(maxa[I]){ max=a[I];}} alert('最大值为' max ');这里值得注意的是,不能直接设置一个变量max=0,因为你不确定未来输入的数字是小于0还是大于0[大小写列大于0],所以你应该在数组中选择一个数字,正好是数组中的第一个,max=a[0]。

因为JS语言是基于对象和面向过程的,所以JS中的所有东西都可以是对象,所以它的数组有属性。长度是JS数组的一个属性,用来获取数组的长度。有了这个属性,您可以遍历数组,然后逐个比较它们。

2.在JS实现中获取数组的最大值和最小值及其位置(即数组中的数字)

【注:本例中位置1是为了方便查看,JS数组以0开头】

var a=[10,20,40,30];var max=a[0];//您不能指定一个数字作为最大值[var max=0](除非它是确定的)。您应该使用数组中的值。[0]表示数组中的第一个值是比较的最大值。var max address=0;var min=a[0];var minaddress=0;for(var I=0;ia .长度;I){ if(maxa[I]){ max=a[I];max address=I } if(Mina[I]){ min=a[I];Minaddress=i}} alert('最大数字为' max ',位置为'(max address 1)');Alert('最小数字为' min ',位置为'(minaddress 1 '));3.现在使用提示用户输入来获得最大值,以此类推。

困难:

1.如何输入,使用提示

2.如何将字符串转换成数组并转换格式?

前提知识:

1.字符串分段使用JS的string object的spilt方法(注意JS中的一切都是对象,所以它被称为方法,而不是函数)

2.让一个' abc '字符串转换成数字类型,如何转换。

字符串到数字类型数字类型的字符串,转换后得到的数字。var n1=' 123var n2=数字(n1);//123非数字字符串,转换后为NaN。var n1=' 123abcvar n2=数字(n1);//Nan十进制字符串,转换后得到原始数字。var n1=' 123.23var n2=数字(n1);//123.23整数类型的parseInt字符串,转换后得到的整数。var n1=' 123var N2=ParSeint(n1);//123数字开头的字符串。转换后,你得到之前的数字。var n1=' 123abcvar N2=ParSeint(n1);//123不以数字开头的字符串,转换后得到NaN。var n1=' abc123var N2=ParSeint(n1);//NaN十进制字符串,转换后四舍五入(小数点直接省略)。var n1=' 123.53var N2=ParSeint(n1);//123 var n1='-5.93 ';var N2=ParSeint(n1);///-5 parseFloat整数类型字符串,转换后得到的整数。var n1=' 123var N2=parseFloat(n1);//123数字开头的字符串。转换后,你得到之前的数字。var n1=' 123abcvar N2=parseFloat(n1);//123不以数字开头的字符串,转换后得到NaN。var n1=' abc123var N2=parseFloat(n1);//NaN十进制字符串,转换后得到原始数字。var n1=' 123.23var N2=parseFloat(n1);//123.23转换布尔数和字符串后为真。未定义、null和0在传输后为false。varn1=123var n2=布尔值(n1);//true var n1=' 123 ';var n2=布尔值(n1);//true var n1=' 0 ';var n2=布尔值(n1);警报(N2);//true var n1;var n2=布尔值(n1);//false var n1=null;var n2=布尔值(n1);//false var n1=0;var n2=布尔值(n1);//false完成上述分析后,开始编写代码

script //var a=new Array(-12,34,56,88,32,' aa ','-34.33 ','-34.34 ',12.23);/* var a=新数组(提示('请输入数字'));document . write(a);*/var b=提示('请输入要比较的数字,用 ', '分隔);var a=新数组();a=b.split(',');//for(var j=0;ja.lengthj){//document . write(a[j]);//} alert(typeof(a)' JS数组本质上是一个对象!' );//本质是对象PHP数组是一个没有属性(比如长度)的数组document . write(a ' br ');console . log(a ' br ');var max=parseFloat(a[0]);//document . write(max);var max address=0;var min=parseFloat(a[0]);var minaddress=0;for(var I=0;i=a .长度;I){ var Shu=parseFloat(a[I]);if(shumax){ max=Shu;max address=I;} if(Shumin){ min=a[I];minaddress=I;}} document.write('最大数字为' max ',位置为'(max address 1)' ' br ');Document.write('最小数字为' min ',位置为'(minaddress 1 '));/script4。以上是JS处理,我的目的是让JS PHP HTML链接起来。

PHP不能直接与前端交互,即不能直接获取用户输入的值,而是通过html形式

JS数据发送到PHP,可以使用AJAX,不过我后面会讲,让我们看看今天有哪些方法。

1.制作HTML表单:

!DOCTYPE html html lang=' en ' Head meta charset=' UTF-8 ' title document/title/Head body form action=' deal . PHP ' method=' post ',请输入数字:输入类型=' text ' id=' Shu ' name=' shuzi ' value=' input type=' submit ' value=' submit '/form/body/html 2。将该值传递给HTML:

脚本类型=' text/JavaScript' var a=prompt('请输入一个数字');document.getElementById('shu ')。值=a;/脚本这里有个坑。如果在HTML的头部写JS代码,会报错,说“未知类型错误:不能设置属性‘值’为null”

由于浏览器的解析顺序,当浏览器解析JS时(输入数字完成时),浏览器开始解析HTML。虽然JS赋予了文本的值,但是后来的HTML解析却矛盾地认为文本的值为NULL。

所以让JS代码尽量写在后面,你先解析HTML,然后我给你取值。(具体分析,不一定JS代码在头)

5.好了,HTML已经传递了值,现在看看PHP

?phpheader(' 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];$ max address=0;for($ j=0;$ jcunt($ b);$ j){ if($ b[$ j]$ max){ $ max=$ b[$ j];$ max address=$ j;}}echo“最大值为”。$max。br ';“Echo”位于。($maxaddress 1)。这里我们主要看explode(将字符串拆分成数组)计数(获取数组的数量)

还要注意类型转换的问题,以后补充或者自己写。

最后,见上图:

摘要

以上就是本文的全部内容。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。

更多资讯
游戏推荐
更多+