做while循环不能正常运行php

时间:2016-11-26 11:56:45

标签: php if-statement do-while

我正在尝试在计算到不同数组后推送值 正如你可以看到<p>在进入while循环后未设置的一切都适用于前3个到达 <html> <head> <title>List</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> </head> <body> <ul id="renderTxt_list"> </ul> <input type="button" id="lesen" value="Read Data" /> </body> <script> $(document).ready(function(){ $("#lesen").click(function() { $.ajax({ url : "testTxt.txt", dataType: "text", success : function (data) { $html = ""; var lines = data.split("\n"); for (var i = 0, len = lines.length; i < len; i++) { $html += '<li>'+lines[i]+'</li>'; } $("body ul").append($html); } }); }); }); </script> </html> 但是当它到达min($arrival)时它不会转到else语句,因为(("1","1","1")不再是> 1) 我不确定if语句或while循环是否有问题我需要帮助搞清楚是什么问题。

("4")

1 个答案:

答案 0 :(得分:0)

我没有仔细检查过您的代码,但我已经看到的是,您似乎认为unset($ hash [i])会移动数字键剩余的元素。这不是坏消息,它不是。“

看,如果你有这样的数组并做出这样的未设置

$a = array(10, 20, 30);
unset($a[1]);

然后

echo count($a); // returns 2
echo $a[0]; // 10
echo $a[1]; // undefined
echo $a[2]; // 30

所以这样的建筑工作工作清洁阵列如预期的那样......它甚至结束了

while(count($a))
    unset($a[0]); // delete $a[0] if exists, or delete nothing if array doesnt have $a[0], even if it has $a[1];

你的代码更复杂,但我想它是基于相同的错误假设。

<强>更新

您可以使用

关闭索引间隙
$hash = array_values($hash);

在此阵列上每​​次取消设置后解决此问题;