{"id":1141,"date":"2012-04-21T13:21:58","date_gmt":"2012-04-21T11:21:58","guid":{"rendered":"https:\/\/sgaul.de\/?p=1141"},"modified":"2014-03-13T21:34:49","modified_gmt":"2014-03-13T20:34:49","slug":"referenzen-bei-problemen-mit-grosen-datenmengen","status":"publish","type":"post","link":"https:\/\/sgaul.de\/2012\/04\/21\/referenzen-bei-problemen-mit-grosen-datenmengen\/","title":{"rendered":"Referenzen bei Problemen mit gro\u00dfen Datenmengen"},"content":{"rendered":"
In einem gr\u00f6\u00dferen PHP-Projekt hatte ich k\u00fcrzlich das Problem, dass gro\u00dfe Teile der Datenbanken in Arrays geschoben wurden um von dort aus weiterverarbeitet zu werden. Dies ist generell kein sch\u00f6ner Ansatz, war in der besagten Situation aber nicht mehr zu \u00e4ndern. Ein Kollege kam auf die rettende Idee, die ich hier kurz notieren m\u00f6chte, so dass ich sie nicht vergesse.<\/p>\n
function getAllTableRows() {\r\n \/\/ ...\r\n return $allRows;\r\n}\r\n$allRows = getAllTableRows();<\/pre>\nDieser Ansatz f\u00fchrte nun leider regelm\u00e4\u00dfig dazu, dass PHP mit einer Speicherfehlermeldung abbrach.<\/p>\n
Der sparsame Ansatz: Array als Referenzparameter<\/h2>\nfunction getAllTableRows(&$allRows) {\r\n \/\/ alle Werte in $allRows schreiben\r\n}\r\n$allRows = array();\r\ngetAllTableRows($allRows);<\/pre>\n