Code: Alles auswählen
for(i=0; i<20; i++) {
irgendwas mit REX_VALUE[$i]; }
Zu Hülfe, zu Hülfe!
Code: Alles auswählen
for(i=0; i<20; i++) {
irgendwas mit REX_VALUE[$i]; }
Na klar Die Substitution erfolgt ausserdem vor dem eval (in dem Sinne verhalten sich die Redaxo-Konstanten wie Konstanten, die man per define definiert hat). Damit ist jeglicher Ansatz den Index von REX_VALUE zu verwenden zum Scheitern verurteilt.nik hat geschrieben:Imho kann das nicht gehen, weil die Klammern Teil des Ersetzungsstrings sind. Es sind zu dem Zeitpunkt keine echten Indizies.
Code: Alles auswählen
foreach ($matches as $match)
{
list ($param_str, $id) = $match;
if ($id > 0 && $id < 21)
{
$replace = $this->getValue($sql, 'value' . $id);
Na dann viel Spaß! Das ist so oft verschachtelt, ich war jetzt bei getBEOutput () und hab keine Lust mehr. Ich glaube, ich würde direkt auf die DB zugreifenAber wahrscheinlich sollte ich einfach den Source Code lesen
Code: Alles auswählen
$arr = array('REX_VALUE[1]','REX_VALUE[2]','REX_VALUE[3]','REX_VALUE[4]',...);
Auf eine ähnliche Lösung bin ich gestern abend auch schon gekommen:Markus.Staab hat geschrieben:
nein es gibt kein Array, du kannst dir aber eines bauen:
Code: Alles auswählen
$arr = array('REX_VALUE[1]','REX_VALUE[2]','REX_VALUE[3]','REX_VALUE[4]',...);
Code: Alles auswählen
values = array (1 => 'REX_VALUE[1]',2 => 'REX_VALUE[2]',3 => 'REX_VALUE[3]',
4 => 'REX_VALUE[4]',5 => 'REX_VALUE[5]',6 => 'REX_VALUE[6]',
7 => 'REX_VALUE[7]',8 => 'REX_VALUE[8]',9 => 'REX_VALUE[9]');