The only easiest way i can think of this time is make use of $GLOBAL
<?php
function my_function($val) {
foreach($GLOBALS as $name => $value) {
if ($value == $val) {
return "Var name: ".$name." , has: ".$val."<br>";
}
}
}
$first = 'John';
$firstname = 'John';
$lastname = 'Doe';
echo my_function($firstname); // outputs: "Var name: firstname , has: John"
echo my_function($lastname);
Output:
Var name: firstname_my , has: John
Var name: lastname_my , has: Doe
Let say if there is 2 variables with same
$first = 'John';
$firstname = 'John';
You can modify your code to differentiate like this
function my_function($val) {
foreach($GLOBALS as $name => $value) {
if ($value == $val && substr($name,-3) == "_my") {
return "Var name: ".$name." , has: ".$val."<br>";
}
}
}
$first = 'John';
$firstname_my = 'John';
$lastname_my = 'Doe';
echo my_function($firstname_my); // outputs: "Var name: firstname , has: John"
echo my_function($lastname_my);