[php] v.5 probleem met array_merge

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik was zo goed als klaar met een website. Voor de website heb ik gebruik gemaakt van een aangepaste versie van Yapter (template engine).

vannacht hebben ze bij vevida.nl , dat is het bedrijf waar de site gehost is, de servers voorzien van php5.
Omdat yapter gebruik maakt van array_merge() op de oude manier (array merge werkt nu alleen nog met arrays) krijg ik een foutmelding.

Ik heb geprobeerd het probleem op te lossen door de string in een array te zetten en deze te gebruiken voor array_merge(). Dit werkt echter niet helemaal lekker.

Weet iemand een manier om de array merge functie weer werkend te krijgen?

het probleem zit hierin:
PHP:
1
$this->blox[$blockname]["parsed"] = array_merge($this->blox[$blockname]["parsed"], $parsed);


ik heb het op de volgende manier geprobeerd op te lossen:
PHP:
1
2
$bla3[0] = $this->blox[$blockname]["parsed"];
$this->blox[$blockname]["parsed"] = array_merge($bla3, $parsed);


Nu ben ik wel de foutmelding kwijt, maar als ik meerdere regels na elkaar parse werkt het niet meer (alleen de laatste regel krijg ik te zien)

weer iemand hoe ik dit op kan lossen?
ik weet niet helemaal hoe yapter in elkaar zit. Ik heb eigenlijk ook niet echt de tijd om het allemaal uit te zoeken aangezien ik vanavond op vakantie ga :(

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

try?
PHP:
1
2
$bla3 = array($this->blox[$blockname]["parsed"]);
$this->blox[$blockname]["parsed"] = array_merge($bla3, $parsed);


ik heb hier geen php 5 dus ik kan het niet testen

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dat maakt helaas geen verschil :(

Acties:
  • 0 Henk 'm!

Verwijderd

Als ik het goed heb dat $parsed een string is, en $this->blox[$blockname]["parsed"] een array waar $parsed aan toegevoegd moet worden, waarom doe je dan niet gewoon:

PHP:
1
  $this->blox[$blockname]["parsed"][] = $parsed;


?

[ Voor 27% gewijzigd door Verwijderd op 29-07-2004 14:16 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik denk dat dat niet helemaal klopt.. Het werkt in ieder geval niet...
Er komt alleen maar: "Array" te staan. verder helemaal niets.

het vervelende is dat ik een aangepaste versie van yapter gebruik. de nieuwe versie schijnt wel met php5 te werken. maar ondersteund geen dynamische includes. dat is er in mijn versie door iemand anders ingebouwd.

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Als het probleem is dat array merge eerst werkte met arrays en strings, en nu alleen nog met arrays, is dit wellicht een oplossing:

PHP:
1
2
3
4
function merge_array($var1, $var2)
{
  array_merge(is_array($var1) ? $var1 : array($var1), is_array($var2) ? $var2 : array($var2));
}

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
grijze vos je bent mijn redder!

Je was alleen de return vergeten, maar verder werkt het perfect!

Ik ben hier al vanaf vanochtend mee bezig. Je bent echt geweldig!

Bedankt!

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
mja, het idee was duidelijk :) Ik klopte ook maar wat uit den loschen polsch. :P

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1