Php 当数组为空时进行while循环?
我有一些代码可以生成一个或多个长度未知的数组,因为这取决于mysql数据库中添加了多少新成员。(这就是我感到困惑的地方) 该数组有$x个项目,每个项目都是一个名、姓和电子邮件地址的数组 我希望循环一直运行到数组结束Php 当数组为空时进行while循环?,php,mysql,loops,Php,Mysql,Loops,我有一些代码可以生成一个或多个长度未知的数组,因为这取决于mysql数据库中添加了多少新成员。(这就是我感到困惑的地方) 该数组有$x个项目,每个项目都是一个名、姓和电子邮件地址的数组 我希望循环一直运行到数组结束 $x = 0; while($array[$x]['per_LastName'] != 'NULL') { $batch[] = array('EMAIL'=>$array[$x]['per_Email'], 'FNAME'=>$array[$x]['per_Fi
$x = 0;
while($array[$x]['per_LastName'] != 'NULL') {
$batch[] = array('EMAIL'=>$array[$x]['per_Email'], 'FNAME'=>$array[$x]['per_FirstName'], 'LNAME'=>$array[$x]['per_LastName']);
$x = $x+1;
}
显然,我在循环无限,因为它使用了所有的内存 使用一个
foreach
循环,该循环将遍历数组的所有元素
foreach($array as $key => $value) {
$batch[] = array('EMAIL'=>$value['per_Email'], 'FNAME'=>$value['per_FirstName'], 'LNAME'=>$value['per_LastName']);
}
使用一个
foreach
循环,该循环将遍历数组的所有元素
foreach($array as $key => $value) {
$batch[] = array('EMAIL'=>$value['per_Email'], 'FNAME'=>$value['per_FirstName'], 'LNAME'=>$value['per_LastName']);
}
相反,您应该使用
for
循环
for($x = 0; $x<count($array); $x++){
$batch[] = array('EMAIL'=>$array[$x]['per_Email'], 'FNAME'=>$array[$x]['per_FirstName'], 'LNAME'=>$array[$x]['per_LastName']);
}
for($x=0;$x$array[$x]['per_Email'],'FNAME'=>$array[$x]['per_FirstName'],'LNAME'=>$array[$x]['per_LastName']);
}
相反,您应该为循环使用
for($x = 0; $x<count($array); $x++){
$batch[] = array('EMAIL'=>$array[$x]['per_Email'], 'FNAME'=>$array[$x]['per_FirstName'], 'LNAME'=>$array[$x]['per_LastName']);
}
for($x=0;$x$array[$x]['per_Email'],'FNAME'=>$array[$x]['per_FirstName'],'LNAME'=>$array[$x]['per_LastName']);
}
为什么不使用foreach并避免计数器和不必要的检查
foreach($array as $eachArray)
{
$batch[] = array('EMAIL'=>$eachArray['per_Email'], 'FNAME'=>$eachArray['per_FirstName'], 'LNAME'=>$eachArray['per_LastName']);
}
为什么不使用foreach并避免计数器和不必要的检查
foreach($array as $eachArray)
{
$batch[] = array('EMAIL'=>$eachArray['per_Email'], 'FNAME'=>$eachArray['per_FirstName'], 'LNAME'=>$eachArray['per_LastName']);
}
为什么不在这里使用foreach
foreach($array as$val){$val['per_LastName']}
值得一提的是,您的循环当前正在无限循环,因为您正在与'NULL'
进行比较。单引号表示这是一个字符串,其中包含单词NULL,这与实际的NULL值不同。为什么不在这里使用foreach
foreach($array as$val){$val['per_LastName']}
值得一提的是,您的循环当前正在无限循环,因为您正在与'NULL'
进行比较。单引号表示这是一个字符串,其中包含NULL一词,与实际的NULL值不同。Works。谢谢你能详细说明一下它的工作原理吗?或者把我和一些东西联系起来。我搜索了很多,但没有找到这样做的方法。一个foreach
循环遍历数组的每个元素$array
,并为每个元素运行循环。$key=>$value
表示数组元素的键将存储在$key
中,其值将存储在$value
中。有关更多信息,请参阅。谢谢你能详细说明一下它的工作原理吗?或者把我和一些东西联系起来。我搜索了很多,但没有找到这样做的方法。一个foreach
循环遍历数组的每个元素$array
,并为每个元素运行循环。$key=>$value
表示数组元素的键将存储在$key
中,其值将存储在$value
中。有关更多信息,请参阅。