Autor Zpráva
leonek
Profil
Dobrý den,

jakou funkcí zjistím název proměnné?

Potřebuji něco jako:

echo fce($promenna);

Výsledek:
promenna


Děkuji
Someone
Profil
<?php
  function vname(&$var, $scope=false, $prefix='unique', $suffix='value')
  {
    if($scope) $vals = $scope;
    else      $vals = $GLOBALS;
    $old = $var;
    $var = $new = $prefix.rand().$suffix;
    $vname = FALSE;
    foreach($vals as $key => $val) {
      if($val === $new) $vname = $key;
    }
    $var = $old;
    return $vname;
  }
  echo vname($promenna);
?>
z PHP.net
leonek
Profil
Děkuji. Funguje
Ramses
Profil *
Něco jsem zkusil, mělo by to fungovat vždy.
<?php


$var = "hello world";

$ahoj = array("hello world");

function getVarName(&$variable, &$vars)
{
    foreach($vars as $var => $val)
    {
        if($variable === $val) return $var;
    }
}

print getVarName($var, get_defined_vars()); // var
print getVarName($ahoj, get_defined_vars()); // ahoj
Majkl578
Profil
Ramses:
mělo by to fungovat vždy
Fungovat vždy to nebude. Stačí, aby dvě proměnné měly stejnou hodnotu a v ten moment nedokážeš určit, která proměnná je ta správná.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: