Variabler Variablenname
Autor: Ralf v.d.Mark, Vilma Plum
eingetragen: Donnerstag, 06. September 2007 um 09:57 Uhr (36/2007 Kalenderwoche)
geändert: Donnerstag, 17. November 2011 um 15:53 Uhr (46/2011 Kalenderwoche)
Kategorien: PHP,
Text:
Zusammensetzen von Variablennamen.
Das letzte Beispiel kann nützlich sein, wenn man einen Datenbank-Input vorher bereinigen will.
Enthält auch eine nützliche Funktion zur String-Ausgabe (siehe Beispiel 4).
Quellcode:
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~ START => Beispiel 1: ~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Die Start-Texte "$start_txt_?" werden durch Zufall ausgewaehlt:
$start_txt_1 = 'Text 1';
$start_txt_2 = 'Text 2';
$start_txt_3 = 'Text 3';
$start_txt_4 = 'Text 4';
$start_txt_5 = 'Text 5';
$varvar = 'start_txt_'.rand(1, 5);//Variabler Variablenname
$start_txt = $$varvar;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~ Ende Beispiel 1 ~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~ START => Beispiel 2: ~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for ($i = 1; $i < 6; $i++) {
$varvar = 'varname_'.$i;
$$varvar = 'Text '.$i;
echo $$varvar.'<br/>';
}
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~ Ende Beispiel 2 ~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~ START => Beispiel 3: (bei einem Array) ~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$arr_zur_bereinigung = array(
'wert01',
'wert02',
'wert03'
);//das ist nur ein Beispielarray
foreach ($arr_zur_bereinigung as $value) {
$$value = str_replace("'", "\'", $$value);
$$value = str_replace("<br />", ", ", $$value);
$$value = str_replace("<br>", ", ", $$value);
echo $$value;
}
//folgendes nur zur Erklaerung:
//statt der foreach-Schleife war vorher folgendes noetig:
$wert01 = str_replace("'", "\'", $wert01);
$wert02 = str_replace("'", "\'", $wert02);
$wert03 = str_replace("'", "\'", $wert03);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~ Ende Beispiel 3 ~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~ START => Beispiel 4: (bei Anzeige/Output)
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$string1 = 'String Nummer 1';
//$string2 = 'Diese Variable ist nicht definiert!';
$string3 = 'String Nummer 3';
echo stringOutput('string1');
echo stringOutput('string2');
echo stringOutput('string3');
/**
* Einfache Ausgabe eines Strings
* @param sting $wertName (Name der Variable ohne $)
*/
function stringOutput($wertName)
{
global $$wertName;
$wertSelf = ${$wertName};
if (!empty($wertSelf)) {
$saml = '<pre><strong>Query';
$saml .= (!empty($wertName) ? ' *'.$wertName.'*' : '');
$saml .= ':</strong>
<br>
'.$wertSelf.'
</pre>
<hr>';
return $saml;
}
}//ENDE: function
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~ Ende Beispiel 4 ~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~