Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将每个转换为_Php_Loops_For Loop_Foreach - Fatal编程技术网

Php 将每个转换为

Php 将每个转换为,php,loops,for-loop,foreach,Php,Loops,For Loop,Foreach,如何将这个foreach循环转换为for循环,并且仍然使用循环的索引提取名称?假设它是一个数字索引数组: foreach( $project->states as $state ) : echo $state->name; endforeach; 首先,使用array\u values函数确保$project->states对数组进行了数字索引 例如: foreach ($project->states as $i => $state) 试试这个:

如何将这个foreach循环转换为for循环,并且仍然使用循环的索引提取
名称

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

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

首先,使用
array\u values
函数确保
$project->states
对数组进行了数字索引

例如:

foreach ($project->states as $i => $state)

试试这个:

非常简单

唯一的区别是在使用数组之前先计算数组的所有元素

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

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


谢谢

为什么有
取决于
$project->states
到底是什么;它是数值索引数组还是关联数组?那你为什么要首先转换它呢?那整段代码都是愚蠢的:)
<?php
$arrStates = array_values($project->states);

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

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