Hi,
sage mir doch bitte jemand, warum der Code
unter php 4.3.11 zu dieser Ausgabe führt
unter php 5.1.2 jedoch zu
?
Scheint, als würde php 5 zuerst die Funktion aufrufen und dann die Anweisung $test_2 = array(1) ausführen.
Warum?
Wie ändern?
(Hab' nämlich keine Lust, alle meine Dateien zu durchsuchen und die entsprechenden Stellen zu ändern)
sage mir doch bitte jemand, warum der Code
PHP-Code:
function test_array(&$test) {
$test[] = 2;
}
echo '<pre>';
test_array($test_1);
test_array($test_2 = array(1));
$test_3 = array(1);
test_array($test_3);
print_r($test_1);
print_r($test_2);
print_r($test_3);
echo 'PHP-Version: '.phpversion();
echo '</pre>';
Code:
Array ( [0] => 2 ) Array ( [0] => 1 [1] => 2 ) Array ( [0] => 1 [1] => 2 ) PHP-Version: 4.3.11
Code:
Array ( [0] => 2 ) Array ( [0] => 1 ) Array ( [0] => 1 [1] => 2 ) PHP-Version: 5.1.2
Scheint, als würde php 5 zuerst die Funktion aufrufen und dann die Anweisung $test_2 = array(1) ausführen.
Warum?
Wie ändern?
(Hab' nämlich keine Lust, alle meine Dateien zu durchsuchen und die entsprechenden Stellen zu ändern)
Kommentar