我正在尝试打印每个第2项或以1开头的数组,以便第1,第3,第5个元素等。我当前的代码给出了非法的偏移类型错误
$array2 = array(explode(',', $prodorder));
<?php foreach($array2 as $value) {
if ($value % 205 !== 0) {
$productscore = $_POST[$value];
echo $value;
?>
<tr><td><?php echo $productname;?></td><td><?php echo $productdescription;?></td></tr>
<?php }} ?>
答案 0 :(得分:2)
改为使用for循环。
for($i=0; $i<count($items); $i+=2)
echo $items[$i] . '<br>';
答案 1 :(得分:0)
这也可以,但使用for
循环更好,更优雅。
$array2 = [
"value1",
"value2",
"value3",
"value4",
"value5"
];
//$array2 = array_values($array2);
foreach($array2 as $k => $v) {
if (($k + 1) % 2 == 1) {
echo $v;
}
}
除非您使用array_values
,否则无法在关联数组中使用。
答案 2 :(得分:0)
试试这个:
foreach($array2 as $k=>$value) {
if ($k % 2 !== 0) {
$productscore = $_POST[$value];
echo $value;
}
}