是否可以在 foreach 中增加 php 变量?我知道如何通过在外部声明来循环。
我正在寻找类似下面的语法
foreach ($some as $somekey=>$someval; $i++)
{
}
不,你必须使用
$i = 0;
foreach ($some as $somekey=>$someval) {
//xyz
$i++;
}
foreach ($some as $somekey=>$someval)
{
$i++;
}
懒惰的做法是:
{
$i=1;
foreach( $rows as $row){
$i+=1;
}
}
,但是您必须在 foreach 之后将 $i 范围限定为不存在或最后取消设置它
$i=1;
foreach( $rows as $row){
$i+=1;
}
unset($i);
,但你应该使用 for 循环,因为利奥波德写道。
$dataArray = array();
$i = 0;
foreach($_POST as $key => $data) {
if (!empty($data['features'])) {
$dataArray[$i]['feature'] = $data['features'];
$dataArray[$i]['top_id'] = $data['top_id'];
$dataArray[$i]['pro_id'] = $data['pro_id'];
}
$i++;
}
我知道这是一个旧的,但这些是我的想法。
$some = ['foo', 'bar'];
for($i = 0; $i < count($some); $i++){
echo $some[$i];
}
--更新--
$some = ['foo', 'bar'];
$someCounted = count($some);
for($i = 0; $i < $someCounted; $i++){
echo $some[$i];
}
它将实现您首先要寻找的东西。
然而你必须增加你的索引 $i。
因此,它不会为您节省任何打字时间。
这会成功的!请记住,如果要从 0 开始计数/递增,则必须在 foreach 循环之前定义 $i = 0。
$i = 0;
foreach ($some as $somekey=>$someval) {
$i++;
}
有什么理由不使用
foreach ($some as $somekey=>$someval)
{
$i++;
}
?
foreach ($some as $somekey=>$someval)
{
$i++;
}
foreach ($some as $somekey=>$someval)
{
$i++;
}
我只是一个变量。即使它用于迭代您正在使用的任何项目,它仍然可以像其他任何项目一样进行修改。
不幸的是,这是不可能的。我一直在寻找一种优雅的方式来做到这一点,与此非常相似:
for ($k = 0 ; $k < $columns; $k++){ echo '<td></td>'; }
这适用for
于 PHP 中的功能,但是您必须拉取项目,例如$columns[$k]
,然后您又回到了不太理想的情况。