[php] 3 arrays samen voegen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Zal vast wel heel makkelijk zijn, maar ik raak een beetje in de knoop met mijn eigen gedachte :P

Ik heb 3 arrays nu wil ik deze drie samenvoegen met als toevoeging een id van de array waar hij dan uitkomt en ordenen op op 1 v/d array waardes. Hoe pak ik dat aan?

Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Wat heb je zelf al geprobeerd?
Laat eens wat code zien.

Who is John Galt?


Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
justmental schreef op 05 augustus 2003 @ 12:58:
Wat heb je zelf al geprobeerd?
Laat eens wat code zien.
Ik kan wel wat laten zien, maar het slaat nergens op. Elke keer loop ik vast.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Liqued schreef op 05 August 2003 @ 13:15:
[...]


Ik kan wel wat laten zien, maar het slaat nergens op. Elke keer loop ik vast.
mja, als je geen code post, hoe willen we je dan kunnen helpen, wellicht kunnen we je dan zeggen waar je vast loopt, en daar leer je dan weer van ;)


http://nl.php.net/array

Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Oké, laat ik dan beginnen met de gedachte waarmee ik nu bezig ben. Ik probeer bij de indivudele array een stukje voor te plaatsen met het id van de array (dus 0 of 1 of 2)
PHP:
1
2
3
4
5
6
$teller = 1;
        $VernieuwdeActualiteitenArrayRecensies['0'] = "0";
        foreach ($ActualiteitenArrayRecensies as $arrayoutput) {
            $VernieuwdeActualiteitenArrayRecensies["$teller"] = $arrayoutput;
            $teller++;
        }


Het probleem echter is als ik dit doe hij alleen de eerste waarde weergeeft ($VernieuwdeActualiteitenArrayRecensies['0']) en de laatste waarde van van $ActualiteitenArrayRecensies.

Eerste probleem is al verholpen (was gewoon ee quote foutje).

[ Voor 15% gewijzigd door Liqued op 05-08-2003 13:41 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

je weet zeker wat er in die array's staat?
een handig controle middel om te zien of het allemaal goed gaat is bijvoorbeeld print_r()

PHP:
1
print_r($array);


trouwens die $VernieuwdeActualiteitenArrayRecensies['$teller'] gaat nooit werken zoals jij wilt :)
aangezien alles tussen singlequotes niet geparsed wordt, je kan die quotes in dit geval totaal weglaten :)

Acties:
  • 0 Henk 'm!

Verwijderd

Ik vind het heel moeilijk om te begrijpen wat jij nu eigenlijk wil.

je hebt '$ActualiteitenArrayRecensies' die loop je door en daarvan wil je de waardes in '$VernieuwdeActualiteitenArrayRecensies' zetten?

nee ik snap het denk ik nog niet...

[edit]
idd dat van die teller had ik ook al gezien. Je hoeft trouwens die teller niet eens te gebruiken als je:

PHP:
1
$VernieuwdeActualiteitenArrayRecensies[] = $arrayoutput;


doet wordt de array automatisch opgehoogd

[ Voor 36% gewijzigd door Verwijderd op 05-08-2003 13:40 ]


Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Verwijderd schreef op 05 August 2003 @ 13:38:

doet wordt de array automatisch opgehoogd
Ja, maar ik voeg dus nog een extra "veld" toe aan het begin van de array met daarin een nummer 0, 1, of 2 (hangt af van welke van de drie basis array's hij vandaan komt).

Nu is dat gelukt en is het me ook gelukt om deze arrays samen te voegen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$localeteller = 0;
foreach ($VernieuwdeActualiteitenArrayRecensies as $arrayoutput) {
    $SamengevoegdeArray["$localeteller"] = $arrayoutput;
    $localeteller++;
}
foreach ($VernieuwdeActualiteitenArrayNieuws as $arrayoutput) {
    $SamengevoegdeArray["$localeteller"] = $arrayoutput;
    $localeteller++;
}
foreach ($VernieuwdeActualiteitenArrayExtra as $arrayoutput) {
    $SamengevoegdeArray["$localeteller"] = $arrayoutput;
    $localeteller++;
}


Nu hoef ik alleen nog maar de array te ordenen op een bepaald "veld".

[ Voor 8% gewijzigd door Liqued op 05-08-2003 13:44 ]


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Liqued schreef op 05 August 2003 @ 13:44:
[...]

Ja, maar ik voeg dus nog een extra "veld" toe aan het begin van de array met daarin een nummer 0, 1, of 2 (hangt af van welke van de drie basis array's hij vandaan komt).

Nu is dat gelukt en is het me ook gelukt om deze arrays samen te voegen.

..


Nu hoef ik alleen nog maar de array te ordenen op een bepaald "veld".
werkt array_merge niet voor jou? /laat

trouwens je hoeft geen quotes om die teller te zetten ;)

[ Voor 10% gewijzigd door Erkens op 05-08-2003 13:49 ]


Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 17:59

RayNbow

Kirika <3

Waarom voeg je de arrays niet samen op de volgende manier?


PHP:
1
2
3
<?
$VernieuwdeActualiteitenArrayRecensies = array_merge( array("0"), $ActualiteitenArrayRecensies);
?>


Edit: Heh, triplepost :P

[ Voor 13% gewijzigd door RayNbow op 05-08-2003 13:50 . Reden: triple post ]

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Nou ben weer ff een beetje aan het klussen gegaan met dit probleem en nou heb ik het volgende af:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$result = querySelectNieuwsteFilmrecensies($maxAantalActualiteitenWeergaves);
while ($ArrayRegel = mysql_fetch_array($result)) {
    $Overallarray[$ArrayRegel[2]] = $ArrayRegel;
}

$result = querySelectNieuwsteFilmnieuws($maxAantalActualiteitenWeergaves);
while ($ArrayRegel = mysql_fetch_array($result)) {
    $Overallarray[$ArrayRegel[2]] = $ArrayRegel;
}

$result = querySelectNieuwsteExtras($maxAantalActualiteitenWeergaves);  
while ($ArrayRegel = mysql_fetch_array($result)) {
    $Overallarray[$ArrayRegel[2]] = $ArrayRegel;
}


krsort($Overallarray);
$Overallarray = array_slice($Overallarray, 0, $maxAantalActualiteitenWeergaves);
reset ($Overallarray);


Hierna leest ik de $overallarray uit en dit werkt prima. Het enige dat ik nu nog wil inbouwen is dat ik weet vanuit welke query de gegevens komen. Iemand enige suggestie hoe ik probleem het beste kan benaderen?

Acties:
  • 0 Henk 'm!

Verwijderd

Je namen van de velden waaruit je selecteert aan een variabele toekennen?

$veld = 'veld';

verder weet ik niet direct zoiets..

Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Verwijderd schreef op 05 August 2003 @ 17:57:
Je namen van de velden waaruit je selecteert aan een variabele toekennen?

$veld = 'veld';

verder weet ik niet direct zoiets..
huh 8)7? Ik snap niet echt wat je bedoelt.

[ Voor 3% gewijzigd door Liqued op 05-08-2003 18:31 . Reden: Typo ]


Acties:
  • 0 Henk 'm!

  • creative8500
  • Registratie: September 2001
  • Laatst online: 01-02 14:14

creative8500

freedom.

Liqued, allemachtig zeg, wat gebruik jij een lange namen voor die variablen zeg :o

modbreak: mag ik je er op wijzen dat dit de HK niet is

[ Voor 34% gewijzigd door whoami op 05-08-2003 20:14 ]

Pagina: 1