Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Niepoprawne odwołanie do tablicy obiektów
Forum PHP.pl > Forum > PHP
kszychu
Mam taki fragment tablicy:
Kod
[parameters] => Array
        (
            [0] => stdClass Object
                (
                    [attribute] => BOUNDARY
                    [value] => Boundary_(ID_VQ/P8KOmUSY/aVEBKh8QNg)
                )

            [1] => stdClass Object
                (
                    [attribute] => REPORT-TYPE
                    [value] => delivery-status
                )

        )


W kodzie odwoluję się do tego w taki sposób:
  1. <?php
  2. for ($i = 0; $i < count($this_part->parameters); $i++)
  3. { 
  4. $param = $this_part->parameters[$i];
  5. if ((($param->attribute == 'NAME') || ($param->attribute == 'name')) && ($param->value != ''))
  6. {
  7. $att_name = $param->value;
  8.  break;
  9.  }
  10. }
  11. ?>

i dostaję komunikat: "Cannot use object of type stdClass as array"
Dotyczy to linii $param = $this_part->parameters[$i];

Co tam może być nie tak? Dodam, że na php4 i php5 to działa. Nie działa na 5.1
Darti
Sprawdź w ten sposób:
  1. <?php
  2. for ($i = 0; $i < count($this_part->parameters); $i++)
  3. { 
  4. if ((($this_part->parameters[$i]->attribute == 'NAME') || ($this_part->parameters[$i]->attribute == 'name')) && ($this_part->parameters[$i]->value != ''))
  5. {
  6. $att_name = $this_part->parameters[$i]->value;
  7.  break;
  8.  }
  9. }
  10. ?>
stygma
Cytat(kszychu)
Dotyczy to linii $param = $this_part->parameters[$i];

Czy indeks [$i] jest konieczny?
Nie wystarczy
Kod
$param = $this_part->parameters;

?

pozdrawiam stygma
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.