mam problem, z którym walczę i nie wiem jak go obejść :|
Do funkcji przekazuję pary parametrów stylów CSS w postaci stdClass (zamieszczam wyniki var_dump) jako $property oraz $value:
Kod
object(stdClass)#62 (2) {
["0"]=>
string(5) "color"
["1"]=>
string(11) "font-weight"
}
object(stdClass)#63 (2) {
["0"]=>
string(7) "#CF1020"
["1"]=>
string(4) "bold"
}
["0"]=>
string(5) "color"
["1"]=>
string(11) "font-weight"
}
object(stdClass)#63 (2) {
["0"]=>
string(7) "#CF1020"
["1"]=>
string(4) "bold"
}
Wewnątrz funkcji, do której je przekazuje rzutuję je na tablice:
w wyniku czego dostaję:
Kod
array(2) {
["0"]=>
string(5) "color"
["1"]=>
string(11) "font-weight"
}
array(2) {
["0"]=>
string(7) "#CF1020"
["1"]=>
string(4) "bold"
}
["0"]=>
string(5) "color"
["1"]=>
string(11) "font-weight"
}
array(2) {
["0"]=>
string(7) "#CF1020"
["1"]=>
string(4) "bold"
}
Następnie iteruję po elementach $properties i przypisuję do nich wartość z $values:
foreach ($properties as $key => $property) { $value = $values[$key]; }
W wyniku tego dostaję:
Cytat
Notice: Undefined index: 0 in ...
Notice: Undefined index: 1 in ...
Notice: Undefined index: 1 in ...
O co chodzi? :| Sprawdzałem w pętlach typy indeksów tablic - zawsze są to stringi. Próbowałem jawnie zrzutować $key na string ((string)$key) i też kupa.
Proszę o pomoc, rady, wskazówki,
pion
PS:
Po drodze w pętli foreach daję sobie testowy warunek:
}
co oczywiście pokazuje:
Cytat
0 nie istnieje w Array
(
[0] => #CF1020
[1] => bold
)
string(1) "0"
(
[0] => #CF1020
[1] => bold
)
string(1) "0"
i analogicznie dla indeksu 1.
PS2:
Dałem na razie jawne "przepisanie" tablicy i działa:
Co nie zmienia faktu, że chciałbym dojść do tego dlaczego pierwotne rozwiązanie nie działa.