将每个转换为For

时间:2013-12-31 02:17:04

标签: php loops for-loop foreach

foreach( $project->states as $state ) :     
    echo $state->name;
endforeach;

我如何将这个foreach循环转换为for循环并仍然使用循环索引提取name

3 个答案:

答案 0 :(得分:2)

假设它是一个数字索引数组:

for ($i = 0; $i < count($project->states); $i++) {
    echo $project->states[$i]->name;
}
但是,我不确定你为什么要这样做。如果您需要获取索引,可以使用foreach

执行此操作
foreach ($project->states as $i => $state)

答案 1 :(得分:0)

首先,使用$project->states函数确保array_values是数字索引的数组。

示例:

<?php
$arrStates = array_values($project->states);

for ($i = 0; $i < count($arrStates); $i++) {
    echo $arrStates[$i]->name;
}
?>

答案 2 :(得分:0)

试试这个:

很简单。

区别在于,在使用数据之前先计算数组的所有元素。

<?php

for($i = 0; $i < count($project->states); $i++)
{
    //write operation
}
?>

谢谢!