PHP 相当于 Python 的 enumerate()?
在Python中,我可以写:
for i, val in enumerate(lst):
print i, val
我知道如何在PHP中做到这一点的唯一方法是:
for($i = 0; $i < count(lst); $i++){
echo "$i $val\n";
}
PHP中有更清晰的方法吗?
在Python中,我可以写:
for i, val in enumerate(lst):
print i, val
我知道如何在PHP中做到这一点的唯一方法是:
for($i = 0; $i < count(lst); $i++){
echo "$i $val\n";
}
PHP中有更清晰的方法吗?
不要相信PHP数组,它们就像Python字典。如果你想要安全的代码,请考虑以下情况:
<?php
$lst = array('a', 'b', 'c');
// Removed a value to prove that keys are preserved
unset($lst[1]);
// So this wont work
foreach ($lst as $i => $val) {
echo "$i $val \n";
}
echo "\n";
// Use array_values to reset the keys instead
foreach (array_values($lst) as $i => $val) {
echo "$i $val \n";
}
?>
-
0 a
2 c
0 a
1 c