1

あなたが私を助けてくれることを願っています。

私は非常に異なる方法を試しましたが、この問題を解決することはできません。

内部にオブジェクトを含む配列があります:

    Array
(
[1] => CntProviderIncentiveResult Object
    (
        [_StartDate:protected] => 1356303600
        [_EndDate:protected] => 1356908400
        [_ProviderRoom:CntProviderIncentiveResult:private] => 1
        [_RoomName:CntProviderIncentiveResult:private] => Doble
        [_RoomCode:CntProviderIncentiveResult:private] => 2370
        [_PropertyCode:CntProviderIncentiveResult:private] => anglers
        [_Occupancy:CntProviderIncentiveResult:private] => 
        [_Currency:CntProviderIncentiveResult:private] => 
        [_AllocationGroup:CntProviderIncentiveResult:private] => 
        [_FreeSaleGroup:CntProviderIncentiveResult:private] => 
        [_StopSaleGroup:CntProviderIncentiveResult:private] => 
        [_ReleaseGroup:CntProviderIncentiveResult:private] => 
        [_MinStayGroup:CntProviderIncentiveResult:private] => 
        [_UpdateRequirement:CntProviderIncentiveResult:private] => 

)))

配列キーを設定して、オブジェクトの1つを新しい配列に割り当てようとしました。

$ConfirmRoom = $ConfirmRoomData[$roomKey];

$roomKey配列のキーはどこにありますか。(1、20、21)

そして私がうまくやったかどうかを確認した後:

if ($ConfirmRoom instanceof CntProviderIncentiveResult) {echo "OK";} 

ただし、新しいオブジェクト$ConfirmRoomは常に空です。

光を見せてくれませんか。

4

2 に答える 2

1

var_dump($ConfirmRoom)手始めに試してみてください。

また、isset($ConfirmRoomData[$roomKey])大きな配列が実際に にあることを確認して$ConfirmRoomDataください。

これらは、問題の解決に役立ついくつかの基本的なデバッグ手順です。私の推測では、それ$roomKeyは適切に定義されていません。

于 2012-12-24T00:57:02.110 に答える
1

最後に私は解決しました:

foreach ($ConfirmRoomData as $key => $value) {
if (is_object ($value)) {
if ($key == $roomKey){
                                            $ConfirmRoom = $value;
}

} }

于 2012-12-24T13:16:57.983 に答える