IPS_GetEvent -> Feld aus array auslesen?

Es gibt Leute, die sind keine PHP-cracks wie z.B. ich!

Wenn ich IPS_GetEvent abfrage, bekomme ich offensichtlich ein mehrdimensionales Array. Wie kann man einen einzelnen Wert abfragen?

Danke und Gruß
Wolfgang

Du suchst dir jetzt aus dem Array raus was dich interessiert.

Vom Beispiel zb ist Event Active.


$EreignisID = 47552;
$EreignisInfo = IPS_GetEvent($EreignisID);
print_r($EreignisInfo['EventActive']);

so kann man sich durch das Array hangeln je nachdem wie tief verschachtelt.
[1][2][3] usw als beispiel.

print_r($EreignisInfo ['CyclicDateFrom']['Year']);

Hallo Rainer,
ich kannte bisher nur die Adressierung über . Wie würde denn die Abfrage in diesem Fall mit lauten?

print_r($EreignisInfo[2]); ergibt Undefined offset: 2 in /var/lib/symcon/scripts/51936.ips.php on line 11

Gruß Wolfgang

Hallo Wolfgang,

steht doch oben im Beispiel drinnen.

print_r($EreignisInfo['EventActive']); 

Das mit [1][2] sollte nur die Abfrage tiefe darstellen.

Siehe mein 2tes Beispiel.

ich meinte z.B.

$array = array( „a“, „b“, „c“, „d“,)

var_dump($array[3]) --> b

Adressierung durch Zellennummern.

Oder wie ließt man das Array, von runder zu runder Klammer eine Ebene? [TriggerVariableID] wäre dann [0][1]?

Array
(
[EventID] => 44821
[EventType] => 2
[EventActive] =>
[EventLimit] => 0
[EventConditions] => Array
(
)

[TriggerType] => 0
[TriggerVariableID] => 0
[TriggerValue] => 
[TriggerSubsequentExecution] => 1
[CyclicDateType] => 0
[CyclicDateValue] => 0
[CyclicDateDay] => 0
[CyclicDateDayValue] => 0
[CyclicDateFrom] => Array
    (
        [Day] => 0

Ist bei deinem Beispiel auch korrekt.
Aber nicht für assoziierte Arrays. Da musst du schon den Index als String angeben wie oben erklärt.
Michael

ok, kapiert. Assoziierte Arrays kennt meine normalerweise verwendete Programmiersprache (XBase++) nicht.

Vielen Dank
Gruß Wolfgang