循环PHP数组

时间:2015-06-04 14:08:15

标签: php arrays

我需要迭代一个数组并做一些不需要数组实际值的事情。最有效的方法是什么?如果我确实需要使用数组元素值,答案会改变吗?我在下面给出了两种可能的解决方案。

<?php
$sql='INSERT INTO bla(x,y,z) ';
$myarray=array(4,3,6,9,6,3,6);

for ($i = 0; $i <= count($myarray); $i++) {
    //Do something where $myarray[$x] is not needed such as make a sting
    $sql.='(1,2,?),';
}

foreach($myarray as $arrayElement) {
    //Do something where $arrayElement is not needed such as make a sting
    $sql.='(1,2,?),';
}
?> 

2 个答案:

答案 0 :(得分:5)

据我所知,forforeach略快,因此效率更高。当然,差异是如此之小,我怀疑在大多数情况下任何人都可以注意到它。

但是foreach似乎是一种更优雅的方式,而且在关联数组的情况下,它是您唯一的选择。

答案 1 :(得分:2)

如果您不需要使用该值,则for会更快一些。 如果您需要更改数组的值,那么带有foreach的{​​{1}}循环是最快的。 见https://stackoverflow.com/a/3433065/2078780