[php] array met foreach

Pagina: 1
Acties:

Onderwerpen


  • Majestic
  • Registratie: December 1999
  • Laatst online: 22-01-2024

Majestic

Neerlandici.

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?

$menu['handata'] = array(
                array ("nieuws", "modules/handata.php?a=nieuws"),
                array ("help", "modules/handata.php?a=help"),
                array ("medewerkers","modules/handata.php?a=medewerkers"),
                );

foreach ( $menu as $key => $value ) {
        if (isset($value[99])) {
            continue;
        }

}

echo ("$value[0]");
?>


Ik wil uit deze array de waardes nieuws, help en medewerkers halen.
value[0] zou dan het de eerste waarde voor de komma moeten zijn.
Echter, $value levert als resultaat 'Array'. Wat zie ik hier over het hoofd?

Je brengt me helemaal van mijn abrikoos.


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 15:28
Je werkt nu met een driedubbele array. Vandaar dat je die melding krijgt.

Tip: met print_r kan je een hoop info krijgen om te debuggen ;)

  • Majestic
  • Registratie: December 1999
  • Laatst online: 22-01-2024

Majestic

Neerlandici.

Topicstarter
print_r geeft hetzelfde resultaat.
Ik begrijp inderdaad de moeilijkheid van de driedubbele array.
Op welke manier is dit te vereenvoudigen?

Je brengt me helemaal van mijn abrikoos.


  • getty
  • Registratie: Januari 2001
  • Laatst online: 01-09 09:17
Majestic schreef op 20 november 2003 @ 10:40:
print_r geeft hetzelfde resultaat.
Ik begrijp inderdaad de moeilijkheid van de driedubbele array.
Op welke manier is dit te vereenvoudigen?
Er 1 array van maken.

A computer is almost human - except that it does not blame its mistakes on another computer.


  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
Logisch toch? $menu is ook een array. Dus als je die foreach'ed krijg je weer een array met een child 'handata'. Als je daarvan dus element 0 neemt, krijg je de array Array('nieuws', 'modules/....').

Je zal dus moeten

foreach ($menu[0] as $key=>$value)

gebruiken

If you can't beat them, try harder


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 15:28
$menu['handata'] = array("nieuws" => "modules/handata.php?a=nieuws", "help" => "modules/handata.php?a=help", "medewerkers" => "modules/handata.php?a=medewerkers");

Is het niet zo dat jij iets als bovenstaand wil en dus je array verkeert opbouwt?

  • Majestic
  • Registratie: December 1999
  • Laatst online: 22-01-2024

Majestic

Neerlandici.

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$handata = array (
        "nieuws" => "nieuws",
        "help" => "help",
        "medewerkers" => "medewerkers"
         );



foreach ( $handata as $key => $value ) {
        if (isset($value[99])) {
            continue;
        }

}

echo ("$value");


Array is nu aangepast en versimpeld.
Deze echo geeft de laatste waarde van de array weer (medewerkers).
Hoe trek ik nu nieuws en help eruit?

Je brengt me helemaal van mijn abrikoos.


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 15:28
$nieuws = $handdata['nieuws'];
$medewerker = $handdata['medewerker'];
$help = $handdata['help'];

:?
Pagina: 1