将php循环转换为JavaScript
我想将以下代码从php转换为JavaScript:将php循环转换为JavaScript,php,jquery,arrays,loops,while-loop,Php,Jquery,Arrays,Loops,While Loop,我想将以下代码从php转换为JavaScript: $price = '270'; $allowed_sms_prices = array( 5,7,10,15,20,25,30,35,39,40, 45,49,50,55,59,60,69,75,79,85, 89,95,100,125,150,175,200,225,250,275, 300,310,315,320,325,330,335,340,345,350, 355,360,365,370,375,380,385,390,3
$price = '270';
$allowed_sms_prices = array(
5,7,10,15,20,25,30,35,39,40,
45,49,50,55,59,60,69,75,79,85,
89,95,100,125,150,175,200,225,250,275,
300,310,315,320,325,330,335,340,345,350,
355,360,365,370,375,380,385,390,395,400,
405,410,415,420,425,430,435,440,445,450,
455,460,465,470,475,480,485,490,495,500
);
while( ! in_array( $price, $allowed_sms_prices ) )
{
$price = $price + 1;
}
echo $price;
下面是一个javascript等价物:
$price = 270;
$allowed_sms_prices = Array(
5,7,10,15,20,25,30,35,39,40,
45,49,50,55,59,60,69,75,79,85,
89,95,100,125,150,175,200,225,250,275,
300,310,315,320,325,330,335,340,345,350,
355,360,365,370,375,380,385,390,395,400,
405,410,415,420,425,430,435,440,445,450,
455,460,465,470,475,480,485,490,495,500
);
while( $allowed_sms_prices.indexOf($price) == -1 )
{
$price = $price + 1;
}
alert($price);
看看这有多容易
您的逻辑仍然存在一个问题,即循环没有可靠的退出条件。例如,如果
$price
值大于500
,循环将无限期运行。有几种方法可以解决这个问题,其中一种是检查值是否不大于数组中的最大值。这里有一个javascript等价物:
$price = 270;
$allowed_sms_prices = Array(
5,7,10,15,20,25,30,35,39,40,
45,49,50,55,59,60,69,75,79,85,
89,95,100,125,150,175,200,225,250,275,
300,310,315,320,325,330,335,340,345,350,
355,360,365,370,375,380,385,390,395,400,
405,410,415,420,425,430,435,440,445,450,
455,460,465,470,475,480,485,490,495,500
);
while( $allowed_sms_prices.indexOf($price) == -1 )
{
$price = $price + 1;
}
alert($price);
看看这有多容易
您的逻辑仍然存在一个问题,即循环没有可靠的退出条件。例如,如果
$price
值大于500
,循环将无限期运行。有几种方法可以解决这个问题,其中之一是检查值是否不大于数组中的最大值。如果您有$price=501代码>这将是一个无休止的循环:)如果你有$price=501
这将是一个无休止的循环:)@phpisuber01:$
可以是变量名的一部分,如果您愿意的话。@phpisuber01我只是想强调,所需的更改是最小的。@azizpunjani这将是对其逻辑的更正。我只是用另一种语言复制了他的逻辑。@azizpunjani我编辑了我的答案来提到这个问题。@Asad:我不介意:P,这只是一个旁注,可能会引起OP的兴趣。不过,我唯一不能忍受的是(ab)数组构造函数的使用。我知道您希望代码尽可能类似于PHP代码,但PHP5.4现在也支持[]
数组表示法。默认情况下,它还支持lambda函数和json_decode
解码到对象。看起来他们在挑选JS作为好的部分:)@phpisuber01:$
可以是变量名的一部分,如果你愿意的话。@phpisuber01我只是想指出,所需的更改是最小的。@azizpunjani这将是对他的逻辑的修正。我只是用另一种语言复制了他的逻辑。@azizpunjani我编辑了我的答案来提到这个问题。@Asad:我不介意:P,这只是一个旁注,可能会引起OP的兴趣。不过,我唯一不能忍受的是(ab)数组构造函数的使用。我知道您希望代码尽可能类似于PHP代码,但PHP5.4现在也支持[]
数组表示法。默认情况下,它还支持lambda函数和json_decode
解码到对象。看起来他们好像在为好的部分挑选JS:)