在 PHP 中循环遍历 stdClass 对象

我有一个名为 $result 的数组,其中包含查询结果。加载视图时,我将变量作为参数传递。我正在尝试访问 [Document_No] [Line_No][Description] [Type] [Quantity] [Unit_of_Measure] 中的值并将它们显示给用户。


我试图遍历数组并不断收到此错误。不能使用 stdClass 类型的对象作为数组


$result 的值


Array

(

    [0] => stdClass Object

        (

            [Key] => 40;3P4RAwJ7/0kATQBQAC0AMAAwADAAMgAAAACHIE4=7;38242640;

            [Document_No] => IMP-0002

            [Line_No] => 20000

            [Description] => Pay People

            [Type] => TRAVEL

            [Quantity] => 40

            [Unit_of_Measure] => DAY

            [Unit_Price] => 10

            [Amount] => 400

            [Current_Budget] => 2019/2020

            [Account_Type] => G_L_Account

            [Account_No] => 2210301

            [Budgeted_Amount_GoK] => 0

            [Available_Amount] => 37701.41

            [Actual_Spent] => 0

            [Global_Dimension_1_Code_Name] => TUBERCULOSIS

            [Global_Dimension_2_Code_Name] => OTHER PSM COSTS - TB/HIV

            [Global_Dimension_3_Code_Name] => OTHER PSM COSTS

            [Global_Dimension_4_Code_Name] => TB/HIV

            [Global_Dimension_5_Code_Name] => ENGAGING ALL CARE PROVIDERS (MDR-TB)

            [Global_Dimension_6_Code_Name] => NATIONAL TREASURY OF THE REPUBLIC OF KENYA

            [Global_Dimension_1_Code] => TB

            [Global_Dimension_2_Code] => TB13.1.7

            [Global_Dimension_3_Code] => TB7.7

            [Global_Dimension_4_Code] => TBMODT-003

            [Global_Dimension_5_Code] => TBITVT.0010

            [Global_Dimension_6_Code] => TNT

            [Local_Travel] => 

            [International_Travel] => 

        )

        )


)


预期成绩


我希望这些值出现在字段上,但我不断收到此错误消息无法使用 stdClass 类型的对象作为数组


慕田峪7331174
浏览 177回答 2
2回答

宝慕林4294392

无需使用此循环foreach ($lines as $line)。你可以直接使用$lines->Description

浮云间

你有一个对象数组。每个对象都有可以引用的属性。因此,对于数组$result,您可以遍历数组。foreach($result as $row) {}然而,每一行都是一个对象;对象的属性被引用如下:$row->Document_No因此,如果您想使用字段 [Document_No] [Line_No][Description] [Type] [Quantity] 打印表格,您可以这样做:<?php// do whatever to get $result// php logic finished...?><table>&nbsp; <tr>&nbsp; &nbsp; <th>Document_No</th>&nbsp; &nbsp; <th>Line_No</th>&nbsp; &nbsp; <th>Description</th>&nbsp; &nbsp; <th>Type</th>&nbsp; &nbsp; <th>Quantity</th>&nbsp; </tr>&nbsp; <?php foreach($result as $row): ?>&nbsp; <tr>&nbsp; &nbsp; <td><?= $row->Document_No ?></td>&nbsp; &nbsp; <td><?= $row->Line_No ?></td>&nbsp; &nbsp; <td><?= $row->Description?></td>&nbsp; &nbsp; <td><?= $row->Type ?></td>&nbsp; &nbsp; <td><?= $row->Quantity ?></td>&nbsp; </tr>&nbsp; <?php endforeach; ?></table>对于表单,同样的想法适用:<?php foreach($result as $index => $row): ?><input disabled id="description" class="form-control input-group-lg reg_name" name=“description[<?= $index ?>]” value=“<?= $row->Description?>” >...<?php endforeach; ?>
打开App,查看更多内容
随时随地看视频慕课网APP