Php 如何在return语句中编写循环?
我需要得到这个结果Php 如何在return语句中编写循环?,php,Php,我需要得到这个结果 return [ [$row_0['Наименование'], $row_0['Ассортимент'], $row_0['Сумма']], [$row_1['Наименование'], $row_1['Ассортимент'], $row_1['Сумма']], [$row_2['Наименование'], $row_2['Ассортимент'], $row_2['Сумма']], ]; 通过使用此循环解析数据库数据 fo
return [
[$row_0['Наименование'], $row_0['Ассортимент'], $row_0['Сумма']],
[$row_1['Наименование'], $row_1['Ассортимент'], $row_1['Сумма']],
[$row_2['Наименование'], $row_2['Ассортимент'], $row_2['Сумма']],
];
通过使用此循环解析数据库数据
for ($i = 0; $i < $num_rows; $i++) {
$row = $adb->query_result_rowdata($accountQuery, $i);
[$row['Наименование'], $row['Ассортимент'], $row['Сумма']],
}
($i=0;$i<$num\u行;$i++)的{
$row=$adb->query\u result\u rowdata($accountQuery,$i);
[$row['Саааааааа],$row['Ааааааааааа,
}
此代码有语法错误
return [
for ($i = 0; $i < $num_rows; $i++) {
$row = $adb->query_result_rowdata($accountQuery, $i);
[$row['Наименование'], $row['Ассортимент'], $row['Сумма']],
}
];
返回[
对于($i=0;$i<$num_行;$i++){
$row=$adb->query\u result\u rowdata($accountQuery,$i);
[$row['Саааааааа],$row['Ааааааааааа,
}
];
如何编写循环以在return语句中获得上述结果?在
return
语句中不能有controlstructure
首先循环数据,将其附加到数组中,然后返回该数组
$result = array();
for ($i = 0; $i < $num_rows; $i++) {
$row = $adb->query_result_rowdata($accountQuery, $i);
$result[] = [$row['Наименование'], $row['Ассортимент'], $row['Сумма']];
}
return $result;
$result=array();
对于($i=0;$i<$num_行;$i++){
$row=$adb->query\u result\u rowdata($accountQuery,$i);
$result[]=[$row['Сааааааа]]、$row['Ааааааааааа];
}
返回$result;
只需在return语句和return数组之前执行以下操作:
$result = [];
for ($i = 0; $i < $num_rows; $i++) {
$row = $adb->query_result_rowdata($accountQuery, $i);
$result[] = [$row['Наименование'], $row['Ассортимент'], $row['Сумма']];
}
return $result;
$result=[];
对于($i=0;$i<$num_行;$i++){
$row=$adb->query\u result\u rowdata($accountQuery,$i);
$result[]=[$row['Сааааааа]]、$row['Ааааааааааа];
}
返回$result;
如果您确实需要立即获得完整的结果数组,其他人已经提供了您想要的答案
如果您只想在数组上迭代一次,使用(生成器语法)可能会为您提供另一个非常可读的解决方案:
for ($i = 0; $i < $num_rows; $i++) {
$row = $adb->query_result_rowdata($accountQuery, $i);
yield [$row['Наименование'], $row['Ассортимент'], $row['Сумма']];
}
($i=0;$i<$num\u行;$i++)的{
$row=$adb->query\u result\u rowdata($accountQuery,$i);
收益率[$row['Сааааааа]]、$row['Ааааааааааа107;
}
请注意与您发布的第二段代码的相似性
如果调用
$adb->query\u result\u rowdata(…)
需要一个打开的数据库连接(或其他一些可关闭的资源),则只有在决定不再迭代生成的生成器时,才可以关闭该连接。关闭连接后从生成器检索新值将返回错误。生成一些结果数组$result=[]代码>,在上面循环返回并向结果添加行$result[]=[$row['xxx'],$row['yyy']
并返回该数组return$result代码>@Eakethet,谢谢。我试试看。