A Php az összes post változót kidobja. Változók a PHP-ben

Biztosan van otthon szekrény vagy komód. Használatuk elve egyszerű: olyan dolgokat teszünk oda, amelyekre jelenleg nincs szükségünk, de egy idő után szükség lehet rájuk.

A változók ugyanúgy működnek. Adhat valamilyen értéket beléjük, és ott tárolhatja, amíg szüksége van rá.

Változók létrehozása

Értéket adhat egy változóba az alábbiak szerint:

A fenti kódban létrehoztuk a $ name változót, és bele tettük Ivan értékét, majd létrehoztuk a $ age változót, és hozzá rendeltük a 20 értéket.

A "változó" név azt jelenti, hogy értéke megváltozhat a szkript végrehajtása során:

Bizonyos nyelvekben először egy változót kell "deklarálni", majd használni. A PHP-ben nincs deklaráció - egy változó akkor jön létre, amikor értéket ad neki.
A PHP programozói azonban gyakran azt mondják, hogy "deklarálja a változót" a "változó létrehozása" helyett.

Továbbá ahelyett, hogy "értéket adnának egy változóba", gyakran azt mondják, hogy "értéket rendel".
Az ok egyszerű - a \u003d szimbólumot, amelynek köszönhetően értéket tárolunk egy változóban, "hozzárendelési operátornak" nevezzük. Ezért a "megfelelő" kifejezés.

Változó elnevezési szabályok

1. A változó neve $ szimbólummal kezdődik.

2. A második karakter lehet betű vagy aláhúzás _

A változó nevek különbséget tesznek a kis- és nagybetűk között. A $ name és a $ Name különböző változók.

Egy változó értékének megjelenítése a képernyőn

Megjeleníthet egy változót a már ismert echo paranccsal:

Az echo parancs lehetővé teszi, hogy egyszerre több értéket jelenítsen meg:

Vegyük észre, hogy 2 értéket adtunk át a visszhangnak vesszővel elválasztva. Így annyi értéket vihetünk át, amennyit csak akarunk. A következő két példa ugyanazt az eredményt hozza:

Rövidített szintaxis is létezik a változók PHP-ben történő kiadására. Helyette

A PHP 5.4 előtt a gyorsírás szintaxisa csak akkor működött, amikor a PHP beállításaiban engedélyezték a short_open_tag irányelvet, amely lehetővé teszi a gyorsírás kezdő címke használatát is

Egy változó értékének ellenőrzése

Az echo parancs nem mindig kényelmes egy változó aktuális értékének ellenőrzésére. Például, ha megpróbál megjeleníteni egy üres karakterláncot, "" semmi nem jelenik meg a képernyőn. És nem világos, mi az oka - üres változó vagy nem működő kód.

Ezért a var_dump () függvény segítségével ellenőrizzük a változó értékét:

A szkript végrehajtásának eredménye:

Húr (5) "Vasya" húr (0) ""

Amint láthatja, a PHP nemcsak a változó tartalmát, hanem a karakterek számát, sőt a változó típusát (karakterláncot) is megjelenítette. A következő órákon alaposabban megvizsgáljuk az adattípusokat.

Változók törlése

Törölhet egy meglévő változót az unset () függvény segítségével:

Itt az ideje egy kicsit gyakorolni.

Ne feledje, hogy szinte minden PHP-feladatnak több megoldása is lehet. Ezért, ha a döntései eltérnek az ezen az oldalon írtaktól, ez egyáltalán nem jelenti azt, hogy valamit rosszul tettél.

Írjon egy szkriptet, amely:
1. Változókat hoz létre címsorral és tartalommal, valamint néhány értékkel.
2. A h1 tag belsejében a címváltozó, a div tagben pedig a tartalmi változó értékét adja ki.

Megoldás megjelenítése

", $ title,""; visszhang"

", $ content,"
"; ?>

Szeretném felhívni a figyelmét arra, hogy nem csak ez a döntés helyes. Például a következő kód ugyanazt az eredményt hozza:

A Windows környezeti (környezeti) változói különféle információkat tartalmaznak a rendszerbeállításokról és a felhasználó környezetéről. Megkülönböztetni a felhasználói, a rendszer és a folyamat környezeti változóit.

A környezeti változók tartalmának megtekintésére a Windows rendszeren a legegyszerűbb módja a rendszer tulajdonságainak megnyitása ( sysdm.cpl) -\u003e Speciális -\u003e Környezeti változók. Mint látható, a megnyílt szakaszban két rész található: a felső a felhasználó környezeti változóit, az alsó a rendszerváltozókat tartalmazza.

Ezenkívül a környezeti változókat a rendszerleíró adatbázis tárolja. Az egyéni változókat a szakasz tárolja. Rendszer - be HKLM \\ SYSTEM \\ CurrentControlSet \\ Control \\ Session Manager \\ Environment.

Az összes környezeti változó értékét megjelenítheti a Windows parancssorában. A parancs egyszerű:

A parancs felsorolja a környezeti változókat és azok értékeit.

A PowerShellben az összes környezeti változó megjelenítéséhez használhatja a parancsot:

Ha csak egy változó értékét szeretné megjeleníteni, akkor az echo parancsot kell használnia, és a változó nevét százalékjelekbe kell foglalnia. Például,

Echo% systemroot%

set\u003e c: \\ tmp \\ env_var.txt

Egy adott folyamat környezeti változói beszerezhetők az ingyenes használatával process Explorer segédprogramok (a Sysinternals-tól). Elég megnyitni a folyamat tulajdonságait, és menni a fülre Környezet.

13 évvel ezelőtt

Egy kis giccs, akire vigyázni kell:

Ha kikapcsolja a RegisterGlobals és a kapcsolódó fájlokat, majd használja a get_defined_vars () parancsot, akkor valami hasonlót láthat:

Sor
[GLOBALS] \u003d\u003e tömb
[GLOBALS] \u003d\u003e tömb
* RECURSION *
[_POST] \u003d\u003e Tömb ()
[_GET] \u003d\u003e tömb ()
[_COOKIE] \u003d\u003e Tömb ()
[_FILES] \u003d\u003e Tömb ()
)

[_POST] \u003d\u003e Tömb ()
[_GET] \u003d\u003e tömb ()
[_COOKIE] \u003d\u003e Tömb ()
[_FILES] \u003d\u003e Tömb ()

)
?>

Figyelje meg, hogy a $ _SERVER nincs ott. Úgy tűnik, hogy a php csak akkor tölti be a $ _SERVER szuperglobalt, ha valahol használják. Ezt megteheti:

nyomtatás "

". htmlspecialchars (print_r (get_defined_vars (), true))."
" ;
nyomtatás "
". htmlspecialchars (print_r ($ _SERVER, true))."
" ;
?>

És akkor a $ _SERVER megjelenik mindkét listában. Azt hiszem, ez nem igazán baj, mert semmi rossz nem fog történni, de érdekes érdekesség.

6 évvel ezelőtt

Mivel a get_defined_vars () csak abban a pontban kapja meg a változókat, ahová a függvényt meghívja, van egy egyszerű módja az aktuális hatókörön belül definiált változók megszerzésének.

// A php szkripted legfelső része
$ vars \u003d get_defined_vars ();

// Most tedd a dolgod
$ foo \u003d "foo";
$ bar \u003d "bar";

// Az aktuális hatókörben definiált összes változó beolvasása
$ vars \u003d array_diff (get_defined_vars (), $ vars);

visszhang "

"
;
print_r ($ vars);
visszhang "
" ;
?>

15 évvel ezelőtt

Itt van egy olyan funkció, amely hibakeresési jelentést generál a megjelenítéshez vagy az e-mailhez
a get_defined_vars használatával. Kiválóan használható részletes pillanatkép készítéséhez anélkül
támaszkodva a felhasználói adatokra.

függvény generáljaDebugReport ($ metódus, $ define_vars, $ email \u003d "undefined") (
// Funkció hibakeresési jelentés létrehozására megjelenítéshez vagy e-mailhez.
// Használat: generatorDebugReport (metódus, get_defined_vars (), email);
// Ahol a módszer "böngésző" vagy "e-mail".

// Hozzon létre egy mellőzési listát a "get_defined_vars" által visszaadott kulcsokhoz.
// Például a HTTP_POST_VARS, HTTP_GET_VARS és mások
// felesleges (ugyanaz, mint _POST, _GET)
// Tartalmazza azokat a varsokat is, amelyeket biztonsági okokból figyelmen kívül hagy. PHPSESSID.
$ ignorelist \u003d tömb ("HTTP_POST_VARS", "HTTP_GET_VARS",
"HTTP_COOKIE_VARS", "HTTP_SERVER_VARS",
"HTTP_ENV_VARS", "HTTP_SESSION_VARS",
"_ENV", "PHPSESSID", "SESS_DBUSER",
"SESS_DBPASS", "HTTP_COOKIE");

$ időbélyeg \u003d dátum ("m / d / y h: m: s");
$ message \u003d "A hibakeresési jelentés létrehozta a $ időbélyeget \\ n";

// A jó méréshez szerezze be az utolsó SQL hibát, ahol a $ link az erőforrás-azonosító
// a mysql_connect számára. Hozzászólás vagy módosítás az adatbázis vagy az absztrakció beállításához.
globális $ link;
$ sql_error \u003d mysql_error ($ link);
if ($ sql_error) {
$ message. \u003d "\\ nMyql üzenetek: \\ n". mysql_error ($ link);
}
// A MySQL befejezése

// Itt rekurzív függvényt használhat. Megkapod az ötletet ;-)
foreach ($ define_vars mint $ key \u003d\u003e $ val) (
if (is_array ($ val) &&! in_array ($ key, $ ignorelist) && count ($ val)\u003e 0) (
$ message. \u003d "\\ n $ kulcs tömb (kulcs \u003d érték): \\ n";
foreach ($ val mint $ subkey \u003d\u003e $ subval) (
if (! in_array ($ alkulcs, $ ignorelist) &&! is_array ($ subval)) (
$ üzenet. \u003d $ alkulcs. "\u003d". $ subval. "\\ n";
}
elseif (! in_array ($ alkulcs, $ ignorelist) && is_array ($ subval)) (
foreach ($ subval mint $ subsubkey \u003d\u003e $ subsubval) (
if (! in_array ($ alkulcs, $ ignorelist)) (
$ üzenet. \u003d $ alkulcs. "\u003d". $ subsubval. "\\ n" ;
}
}
}
}
}
elseif (!
is_array ($ val) &&! in_array ($ key, $ ignorelist) && $ val) (
$ message. \u003d "\\ nVáltozó". $ kulcs. "\u003d". $ val. "\\ n";
}
}

Ha ($ method \u003d\u003d "böngésző") (
echo nl2br ($ üzenet);
}
elseif ($ method \u003d\u003d "email") (
if ($ email \u003d\u003d "undefined") (
$ email \u003d $ _SERVER ["SERVER_ADMIN"];
}

$ mresult \u003d mail ($ email, "Debug Report for". $ _ENV ["HOSTNAME"]. "", $ message);
ha ($ mresult \u003d\u003d 1) (
visszhang "A hibakeresési jelentés sikeresen elküldve. \\ N";
}
más (
visszhang "Nem sikerült elküldeni a hibakeresési jelentést. \\ N";
}
}
}
?>

17 évvel ezelőtt

Egyszerű rutin a get_defined_vars objektum XML formátumba konvertálására.

függvény obj2xml ($ v, $ indent \u003d "") (
while (lista ($ kulcs, $ val) \u003d mindegyik ($ v)) (
ha ($ key \u003d\u003d "__attr") folytatódik;
// Ellenőrizze a __attr
if (is_object ($ val -\u003e __attr)) {
while (lista ($ key2, $ val2) \u003d mindegyik ($ val -\u003e __attr)) (
$ attr. \u003d "$ key2 \u003d \\" $ val2 \\ "";
}
}
else $ attr \u003d "";
if (is_array ($ val) || is_object ($ val)) {
print ("$ indent< $key$attr >\\ n ");
obj2xml ($ val, $ indent. "");
print ("$ indent\\ n ");
}
else print ("$ indent< $key$attr > $ val\\ n ");
}
}

// Példa objektum
$ x -\u003e név -\u003e első \u003d "János";
$ x -\u003e név -\u003e utolsó \u003d "Smith";
$ x -\u003e arr ["Gyümölcs"] \u003d "Bannana";
$ x -\u003e arr ["Veg"] \u003d "Sárgarépa";
$ y -\u003e ügyfél \u003d $ x;
$ y -\u003e ügyfél -\u003e __attr -\u003e id \u003d "176C4";

$ z \u003d get_defined_vars ();
obj2xml ($ z ["y"]);
?>
kiadja:


János
Kovács


Bannana
Sárgarépa

11 évvel ezelőtt

Megjegyzendő, hogy a get_defined_vars () nem ad vissza változó hivatkozások halmazát (ahogy reméltem). Például:

// változó meghatározása
$ my_var \u003d "foo";

// lekérjük a definiált változók listáját
$ define_vars \u003d get_defined_vars ();

// most próbáld meg megváltoztatni az értéket a visszaadott tömbön keresztül
$ define_vars ["my_var"] \u003d "bar";

echo $ my_var, "\\ n";

?>

"foo" -t (az eredeti érték) adja ki. "Jó lenne, ha a get_defined_vars () opcionális argumentummal szolgálna hivatkozásokká, de elképzelhető, hogy meglehetősen speciális kérés. Ezt maga is megteheti (kevésbé kényelmesen), például:

$ define_vars \u003d tömb ();
$ var_names \u003d tömb_kulcsok (get_defined_vars ());

foreach ($ var_names mint $ var_name)
{
$ define_vars [$ var_name] \u003d & $ $ var_name;
}

?>

1 évvel ezelőtt

Korábban itt írtam arról, hogy "ez" a get_defined_vars fájlban található.

Kiderült, hogy nem mindig van ott, de bizonyos esetekben megmagyarázhatatlanul megjelenik.

Php -r "
osztály teszt (
nyilvános függvény a () (var_dump (tömb_kulcsok (get_defined_vars ())); $ a \u003d 123;)
nyilvános függvény b () (var_dump (tömb_kulcsok (get_defined_vars ())); $ this;)
}
$ t \u003d új teszt ();
$ t-\u003e a ();
$ t-\u003e b ();
"

Tömb ()
tömb ("ez")

Ez nem a PHP 7.2-ben történik, hanem a PHP 5.6-ban.

1 évvel ezelőtt

Néhány megjegyzés itt rámutat, hogy ez a függvény nem ad vissza hivatkozásokat. Viszont visszaadja a neveket, és a nevek "referenciák".

Nem ajánlanám azokat a javaslatokat, amelyek referenciává alakítják.

X nyilvános funkció ($ a, $ b, $ c) (
foreach (array_keys (get_defined_vars ()) mint $ kulcs)
if ($ kulcs! \u003d\u003d "ez")
$ this-\u003e y ($ ($ key));
}

Y függvény (& $ input) (
$ input ++;
}

A $ () helyett használhatja a $$ értéket is.

A magam idejében néhány ócska dolgot tettem egy rendkívül általános kód elkészítéséhez, de soha nem kellett a fentihez hasonló dolgokat tennem. Lehet, hogy nem is fog működni (de kellene, mert ez nem különbözik a $ a [$ kulcs] -tól).

Megtehette a $$ key ++ parancsot is, de még soha nem láttam olyan kódot, amely nem volt borzalmasan rossz (dinamikusan, ahol a dinamika nem előnyös).

Ha ilyesmit csinálsz, adj neki további ellenőrzést.

13 évvel ezelőtt

Egy kis giccs, akire vigyázni kell:

Ha kikapcsolja a RegisterGlobals és a kapcsolódó fájlokat, majd használja a get_defined_vars () parancsot, akkor valami hasonlót láthat:

Sor
[GLOBALS] \u003d\u003e tömb
[GLOBALS] \u003d\u003e tömb
* RECURSION *
[_POST] \u003d\u003e Tömb ()
[_GET] \u003d\u003e tömb ()
[_COOKIE] \u003d\u003e Tömb ()
[_FILES] \u003d\u003e Tömb ()
)

[_POST] \u003d\u003e Tömb ()
[_GET] \u003d\u003e tömb ()
[_COOKIE] \u003d\u003e Tömb ()
[_FILES] \u003d\u003e Tömb ()

)
?>

Figyelje meg, hogy a $ _SERVER nincs ott. Úgy tűnik, hogy a php csak akkor tölti be a $ _SERVER szuperglobalt, ha valahol használják. Ezt megteheti:

nyomtatás "

". htmlspecialchars (print_r (get_defined_vars (), true))."
" ;
nyomtatás "
". htmlspecialchars (print_r ($ _SERVER, true))."
" ;
?>

És akkor a $ _SERVER megjelenik mindkét listában. Azt hiszem, ez nem igazán baj, mert semmi rossz nem fog történni, de érdekes érdekesség.

6 évvel ezelőtt

Mivel a get_defined_vars () csak abban a pontban kapja meg a változókat, ahová a függvényt meghívja, van egy egyszerű módja az aktuális hatókörön belül definiált változók megszerzésének.

// A php szkripted legfelső része
$ vars \u003d get_defined_vars ();

// Most tedd a dolgod
$ foo \u003d "foo";
$ bar \u003d "bar";

// Az aktuális hatókörben definiált összes változó beolvasása
$ vars \u003d array_diff (get_defined_vars (), $ vars);

visszhang "

"
;
print_r ($ vars);
visszhang "
" ;
?>

15 évvel ezelőtt

Itt van egy olyan funkció, amely hibakeresési jelentést generál a megjelenítéshez vagy az e-mailhez
a get_defined_vars használatával. Kiválóan használható részletes pillanatkép készítéséhez anélkül
támaszkodva a felhasználói adatokra.

függvény generáljaDebugReport ($ metódus, $ define_vars, $ email \u003d "undefined") (
// Funkció hibakeresési jelentés létrehozására megjelenítéshez vagy e-mailhez.
// Használat: generatorDebugReport (metódus, get_defined_vars (), email);
// Ahol a módszer "böngésző" vagy "e-mail".

// Hozzon létre egy mellőzési listát a "get_defined_vars" által visszaadott kulcsokhoz.
// Például a HTTP_POST_VARS, HTTP_GET_VARS és mások
// felesleges (ugyanaz, mint _POST, _GET)
// Tartalmazza azokat a varsokat is, amelyeket biztonsági okokból figyelmen kívül hagy. PHPSESSID.
$ ignorelist \u003d tömb ("HTTP_POST_VARS", "HTTP_GET_VARS",
"HTTP_COOKIE_VARS", "HTTP_SERVER_VARS",
"HTTP_ENV_VARS", "HTTP_SESSION_VARS",
"_ENV", "PHPSESSID", "SESS_DBUSER",
"SESS_DBPASS", "HTTP_COOKIE");

$ időbélyeg \u003d dátum ("m / d / y h: m: s");
$ message \u003d "A hibakeresési jelentés létrehozta a $ időbélyeget \\ n";

// A jó méréshez szerezze be az utolsó SQL hibát, ahol a $ link az erőforrás-azonosító
// a mysql_connect számára. Hozzászólás vagy módosítás az adatbázis vagy az absztrakció beállításához.
globális $ link;
$ sql_error \u003d mysql_error ($ link);
if ($ sql_error) {
$ message. \u003d "\\ nMyql üzenetek: \\ n". mysql_error ($ link);
}
// A MySQL befejezése

// Itt rekurzív függvényt használhat. Megkapod az ötletet ;-)
foreach ($ define_vars mint $ key \u003d\u003e $ val) (
if (is_array ($ val) &&! in_array ($ key, $ ignorelist) && count ($ val)\u003e 0) (
$ message. \u003d "\\ n $ kulcs tömb (kulcs \u003d érték): \\ n";
foreach ($ val mint $ subkey \u003d\u003e $ subval) (
if (! in_array ($ alkulcs, $ ignorelist) &&! is_array ($ subval)) (
$ üzenet. \u003d $ alkulcs. "\u003d". $ subval. "\\ n";
}
elseif (! in_array ($ alkulcs, $ ignorelist) && is_array ($ subval)) (
foreach ($ subval mint $ subsubkey \u003d\u003e $ subsubval) (
if (! in_array ($ alkulcs, $ ignorelist)) (
$ üzenet. \u003d $ alkulcs. "\u003d". $ subsubval. "\\ n" ;
}
}
}
}
}
elseif (!
is_array ($ val) &&! in_array ($ key, $ ignorelist) && $ val) (
$ message. \u003d "\\ nVáltozó". $ kulcs. "\u003d". $ val. "\\ n";
}
}

Ha ($ method \u003d\u003d "böngésző") (
echo nl2br ($ üzenet);
}
elseif ($ method \u003d\u003d "email") (
if ($ email \u003d\u003d "undefined") (
$ email \u003d $ _SERVER ["SERVER_ADMIN"];
}

$ mresult \u003d mail ($ email, "Debug Report for". $ _ENV ["HOSTNAME"]. "", $ message);
ha ($ mresult \u003d\u003d 1) (
visszhang "A hibakeresési jelentés sikeresen elküldve. \\ N";
}
más (
visszhang "Nem sikerült elküldeni a hibakeresési jelentést. \\ N";
}
}
}
?>

17 évvel ezelőtt

Egyszerű rutin a get_defined_vars objektum XML formátumba konvertálására.

függvény obj2xml ($ v, $ indent \u003d "") (
while (lista ($ kulcs, $ val) \u003d mindegyik ($ v)) (
ha ($ key \u003d\u003d "__attr") folytatódik;
// Ellenőrizze a __attr
if (is_object ($ val -\u003e __attr)) {
while (lista ($ key2, $ val2) \u003d mindegyik ($ val -\u003e __attr)) (
$ attr. \u003d "$ key2 \u003d \\" $ val2 \\ "";
}
}
else $ attr \u003d "";
if (is_array ($ val) || is_object ($ val)) {
print ("$ indent< $key$attr >\\ n ");
obj2xml ($ val, $ indent. "");
print ("$ indent\\ n ");
}
else print ("$ indent< $key$attr > $ val\\ n ");
}
}

// Példa objektum
$ x -\u003e név -\u003e első \u003d "János";
$ x -\u003e név -\u003e utolsó \u003d "Smith";
$ x -\u003e arr ["Gyümölcs"] \u003d "Bannana";
$ x -\u003e arr ["Veg"] \u003d "Sárgarépa";
$ y -\u003e ügyfél \u003d $ x;
$ y -\u003e ügyfél -\u003e __attr -\u003e id \u003d "176C4";

$ z \u003d get_defined_vars ();
obj2xml ($ z ["y"]);
?>
kiadja:


János
Kovács


Bannana
Sárgarépa

11 évvel ezelőtt

Megjegyzendő, hogy a get_defined_vars () nem ad vissza változó hivatkozások halmazát (ahogy reméltem). Például:

// változó meghatározása
$ my_var \u003d "foo";

// lekérjük a definiált változók listáját
$ define_vars \u003d get_defined_vars ();

// most próbáld meg megváltoztatni az értéket a visszaadott tömbön keresztül
$ define_vars ["my_var"] \u003d "bar";

echo $ my_var, "\\ n";

?>

"foo" -t (az eredeti érték) adja ki. "Jó lenne, ha a get_defined_vars () opcionális argumentummal szolgálna hivatkozásokká, de elképzelhető, hogy meglehetősen speciális kérés. Ezt maga is megteheti (kevésbé kényelmesen), például:

$ define_vars \u003d tömb ();
$ var_names \u003d tömb_kulcsok (get_defined_vars ());

foreach ($ var_names mint $ var_name)
{
$ define_vars [$ var_name] \u003d & $ $ var_name;
}

?>

1 évvel ezelőtt

Korábban itt írtam arról, hogy "ez" a get_defined_vars fájlban található.

Kiderült, hogy nem mindig van ott, de bizonyos esetekben megmagyarázhatatlanul megjelenik.

Php -r "
osztály teszt (
nyilvános függvény a () (var_dump (tömb_kulcsok (get_defined_vars ())); $ a \u003d 123;)
nyilvános függvény b () (var_dump (tömb_kulcsok (get_defined_vars ())); $ this;)
}
$ t \u003d új teszt ();
$ t-\u003e a ();
$ t-\u003e b ();
"

Tömb ()
tömb ("ez")

Ez nem a PHP 7.2-ben történik, hanem a PHP 5.6-ban.

1 évvel ezelőtt

Néhány megjegyzés itt rámutat, hogy ez a függvény nem ad vissza hivatkozásokat. Viszont visszaadja a neveket, és a nevek "referenciák".

Nem ajánlanám azokat a javaslatokat, amelyek referenciává alakítják.

X nyilvános funkció ($ a, $ b, $ c) (
foreach (array_keys (get_defined_vars ()) mint $ kulcs)
if ($ kulcs! \u003d\u003d "ez")
$ this-\u003e y ($ ($ key));
}

Y függvény (& $ input) (
$ input ++;
}

A $ () helyett használhatja a $$ értéket is.

A magam idejében néhány ócska dolgot tettem egy rendkívül általános kód elkészítéséhez, de soha nem kellett a fentihez hasonló dolgokat tennem. Lehet, hogy nem is fog működni (de kellene, mert ez nem különbözik a $ a [$ kulcs] -tól).

Megtehette a $$ key ++ parancsot is, de még soha nem láttam olyan kódot, amely nem volt borzalmasan rossz (dinamikusan, ahol a dinamika nem előnyös).

Ha ilyesmit csinálsz, adj neki további ellenőrzést.