+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    Sep 2009
    Beiträge
    1,009

    Standard Warum funktioniert die list funktion nicht ?

    Dieses script :

    PHP-Code:
    <?
    $array 
    = [
        [
    12],
        [
    34],
    ];

    foreach (
    $array as list($a)) {
        
    // Note that there is no $b here.
        
    echo "$a\n";
    }
    ?>
    sollte laut PHP Doku http://www.php.net/manual/de/control...es.foreach.php

    laufen. Erzeugt aber leider die folgende Fehlermeldung :

    Parse error: syntax error, unexpected 'list' (T_LIST) in C:\IP-Symcon\scripts\58723.ips.php on line 7
    Abort Processing during Fatal-Error: syntax error, unexpected 'list' (T_LIST)
    Error in Script C:\IP-Symcon\scripts\58723.ips.php on Line 7?>
    2 Standorte, 1 Win10 Symcon, 2 Raspi Stretch Symcon, 6 PIVCCU Stretch, IPSVIEW, 6 LAN Adapter, ALL4000, T 868, 4 EKM 868, ENOCEAN, EBUS , Chrome, AVM, PIXEL 2, 3 IPAD, 4 X Alexa

  2. #2
    Registriert seit
    May 2005
    Beiträge
    2,275

    wie dort auch steht: PHP>=5.5. IPS hat aber noch nicht PHP5.5.

  3. #3
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Standard AW: Warum funktioniert die list funktion nicht ?

    Die list Funktion funktioniert schon, aber nicht für 'nested arrays' (erst ab PHP 5.5)

    Du kannst folgendes mit list versuchen:
    (ich weiß zwar nicht was du machen möchtest)
    PHP-Code:
    <?
    $array 
    = [
        [
    12],
        [
    34],
    ];
    reset($array);
    while (list(
    $key$subarrays) = each($array)) {
        while (list(
    $subkey$value) = each($subarrays)) {
            echo 
    "Key: $subkey; Value: $value<br />\n";
         }
    }
    ?>
    Gruß
    Günter
    System: IPS v4.0; Win7 SP1; EibPC; EIB/KNX; ELV HM LAN Adapter;
    Sensoren: EIB/KNX; FHT80b;FS20; HM-Wetter;
    PHP-Code:
    //Was nicht passt, wird passend gemacht
    if ($was!=($passt=1)) {$was $passt;} 

  4. #4
    Registriert seit
    Sep 2009
    Beiträge
    1,009

    Wenn ich die foreach funktion auf der zweiten Ebene des Arrays laufen lassen will geht das nur in Kombination mit der list funktion :

    PHP-Code:
    <?php
    $array 
    = [
        [
    12],
        [
    34],
    ];

    foreach (
    $array as list($a$b)) {
        
    // $a contains the first element of the nested array,
        // and $b contains the second element.
        
    echo "A: $a; B: $b\n";
    }
    ?>

    Output :
    A: 1; B: 2
    A: 3; B: 4


    Du hast natürlich recht das man das Problem auch anders lösen kann. Ich fand halt das die list funktion damit sehr elegant umgeht und jetzt nachdem du die php 5.5 nennst habe ich das im php manual auch gesehen....... die berühmten Tomaten auf den Augen scheinen wieder zu wachsen
    2 Standorte, 1 Win10 Symcon, 2 Raspi Stretch Symcon, 6 PIVCCU Stretch, IPSVIEW, 6 LAN Adapter, ALL4000, T 868, 4 EKM 868, ENOCEAN, EBUS , Chrome, AVM, PIXEL 2, 3 IPAD, 4 X Alexa

Ähnliche Themen

  1. Upload Data Point List Button.
    Von albertoosten im Forum General Discussion
    Antworten: 2
    Letzter Beitrag: 15.02.13, 09:48
  2. Wo ist die Funktion System Monitoring
    Von tommy86 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 12.07.12, 21:44
  3. Antworten: 19
    Letzter Beitrag: 11.10.07, 11:49
  4. Warum schalten meine Lampen nicht?
    Von Xanon im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 10
    Letzter Beitrag: 03.02.07, 10:07