Bonjour,
Je ne comprends pas pourquoi $test1 marche et non pas $test2.Code:
1
2
3
4
5
6
7
8 <?php $test->foo->bar = 'val'; $foo = 'foo'; $bar = 'bar'; $fooBar = 'foo->bar'; $test1 = $test->$foo->$bar; $test2 = $test->$fooBar;
Merci de m'aider.
Version imprimable
Bonjour,
Je ne comprends pas pourquoi $test1 marche et non pas $test2.Code:
1
2
3
4
5
6
7
8 <?php $test->foo->bar = 'val'; $foo = 'foo'; $bar = 'bar'; $fooBar = 'foo->bar'; $test1 = $test->$foo->$bar; $test2 = $test->$fooBar;
Merci de m'aider.
Quand tu écris "$test->$fooBar", l'interpréteur PHP s'attend à trouver un nom de variable dans $foobar. Or, "foo->bar" n'est pas un nom de variable. La syntaxe des noms de variables est décrite ici :
http://www.php.net/manual/fr/languag...les.basics.php
Autrement dit :
"foo" est un nom de variable
"bar" est un nom de variable
"foo->bar" n'est pas un nom de variable
Dans le code :Code:
1
2
3
4
5
6
7
8
9 class Test { public $foo; } class Foo { public $bar; // et non public $foo->bar }