Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

Fehler bei php.net melden?

  Alt 8. Aug 2010, 15:38
Mir ist grade ein Fehler in PHP 5 aufgefallen.
(dachte erst das liegt an meinem Code und ich hab alles seit gestern umgegraben und sonstwo gesucht und getestet)

Hab das jetzt alles auf diesen Code zusammengeschrumpft,
PHP-Quellcode:
<?php
  $arr = array('one', 'two', 'tree', 'four', 'five');
  foreach ($arr as &$str) $str = machwas($str);
  foreach ($arr as $str) echo $str;
?>
welches als Ergebnis "one two tree four four" liefert

hierbei ändert sich bei jedem Schritt der letzte Array-Eintrag.
PHP-Quellcode:
<?php
  echo '<pre>';
  $arr = array(' one ', ' two ', ' tree ', ' four ', ' five ');
  print_r($arr);
  echo "\n";
  foreach ($arr as &$str)
    $str = trim($str);
  foreach ($arr as $str) {
    print_r($arr);
    echo "\n$str\n\n";
  }
  print_r($arr);
?>

So, hatte das jetzt erstmal hier gepostet:
http://www.php.net/manual/de/control...each.php#99280

und hab nun auch die Bug-Abteilung gefunden.
jetzt suche ich aber schon 'ne Weile viele Einträge ab, ob die was mit meinem Problem zu tun haben und hab noch Unmassen vor mir, da ich auch nicht genau weiß nach was ich suchen soll.

Kennt schon jemand das Problem oder hat dazu schon einen Eintrag entdeckt?


Ach ja: Selber hab'sch das in PHP 5.2.4 und 5.3.0 reproduzieren können.


[add]
und nun hab'sch och den Grund für die Änderung (aber k.A. auf was die Referenz zeigt)
PHP-Quellcode:
$arr = array(' one ', ' two ', ' tree ', ' four ', ' five ');
foreach ($arr as &$str) $str = trim($str);
var_dump($arr);
Code:
array(5) {
  [0]=> string(3) "one"
  [1]=> string(3) "two"
  [2]=> string(4) "tree"
  [3]=> string(4) "four"
  [4]=> &string(4) "five"
}
$2B or not $2B

Geändert von himitsu ( 8. Aug 2010 um 16:08 Uhr)
  Mit Zitat antworten Zitat