Ik probeer wat mee bezig te gaan met classess. Als doel heb ik genomen het basissyteem van het spel Diablo II na te gaan maken (iig iets in die richting).
Ik zit echter met iets (wat misschien niet eens zo zeer OOP is, maar iets met multi-dimensional arrays).
Hier is de code:
<?php
$playerA = new playerNew();
$playerA->playerCreate('Akara', 'Sorcerer');
$playerB = new playerNew();
$playerB->playerCreate('Norrec', 'Barbarian');
$battlePartitioners = array(
'party1' => array(
'partitioner1-1' => $playerA
),
'party2' => array(
'partitioner2-1' => $playerB
)
);
?>
<?php
foreach ($battlePartitioners['party1'] as $a => $value) {
echo $a.'<br/><br/>';
foreach ($value as $a1 => $value1) {
echo $value1.'<br/>';
}
echo '<pre>';
print_r($value);
echo '</pre>';
}
?>
De output geeft:
partitioner1-1
Akara
Sorcerer
0
1
40
74
35
10
25
10
35
playerNew Object
(
[name] => Akara
[profession] => Sorcerer
[experience] => 0
[level] => 1
[life] => 40
[stamina] => 74
[mana] => 35
[strength] => 10
[dexterity] => 25
[vitality] => 10
[energy] => 35
)
Maaar... Nu wil ik die 2e foreach niet gebruiken maar direct de array benaderen. Echter werkt dit niet:
<?php
echo $value['playerNew Object']['name'];
?>
Mijn vraag: waarom werkt dat niet? Betekend dat "Object" uit de print_r iets anders of is dat echt een deel van de array naam. Kan de spatie misschien het probleem zijn?