[PHP] Elke while() lus een nieuwe naam voor een array

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een oplossing nodig voor een klein vraagstukje (waarschijnlijk gewoon simpel, maar ik kom er niet op). Hoe maak ik elke keer dat ik een while lus in ga een nieuwe array aan, met een naam met een nummer er in dat elke keer dat de while lus wordt gelopen één omhoog gaat.

Ik dacht aan iets in de geest van:

$counter=0;

while(blaat)
{
$string = "melding";
$string .= $counter;
array() = $string;

code...

counter++;
}

maar op deze manier wordt de string(staat gelijk aan melding<nummer>) overschreven en wordt er een array gemaakt met de naam '$string'

Hoe dit te verhelpen?

Acties:
  • 0 Henk 'm!

  • TafkaT
  • Registratie: Januari 2000
  • Laatst online: 02-08 11:40
$string = array() perhaps?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nee, dat werkt niet.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Gooi de aangemaakte array in een array en klaar ben je (yes, een twee dimensionale array dus).

Geen gerommel met variabele variabelen (of variabele variabele namen) op deze manier en je kan ook zonder counter variabele toch nog weten hoeveel van die array's je nu hebt.

Dit is altijd een "mooiere" oplossing dan het gedoe met de dubbele $. daarnaast werkt m'n genoemde oplossing ook in elke taal/omgeving die array's kent en het gedoe met de dubbele $ niet :)

[ Voor 32% gewijzigd door Creepy op 12-09-2006 15:02 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Zoiets?

PHP:
1
2
3
4
5
6
7
8
9
$i = 0;

while ($i < 10) {
    ${'melding' . $i} = array();

    /* code... */

    $i++;
}

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

PHP:
1
2
3
4
5
6
7
8
9
10
$counter=0;

while(blaat)
{
$$counter = array();

// doe iets met $$counter

$counter++;
}

let op de dubbele $ !

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou er graag nog even aan toe willen voegen dat dit slordig en instabiel programmeren is.

Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 20:37
PHP:
1
2
3
4
5
6
7
8
$i = 0;
while ($i < 10) {
    $melding[$i] = array();

    /* code... */

    $i++;
}

Zoiets is al een stuk netter dan die variabele variabelen namen...

[ Voor 16% gewijzigd door robbert op 12-09-2006 15:08 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

robbertkrebbers schreef op dinsdag 12 september 2006 @ 15:07:
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
$i = 0;
while ($i < 10) {
    $melding[$i] = array();

    /* code... */

    $i++;
}
?>

Zoiets is al een stuk netter
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
$i = 0;
$melding = array();
while ($i < 10) {
    $melding[$i] = array();

    /* code... */

    $i++;
}
?>

;)

Acties:
  • 0 Henk 'm!

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Ik ga mee met Creepy.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$counter = 0;
$data = array();
$result = array();

while (blaat)
{
    $data[0] = "melding";
    $data[1] = $counter++;
    
    $result[] = $data;
}

echo '<pre>';
print_r($result);
echo '</pre>';

March of the Eagles


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt mensen, ik heb wat ik nodig had. _/-\o_
Pagina: 1