Читайте о $GLOBALS
переменная в документации .
Это, вероятно, то, что вам нужно. В зависимости от того, как вы определяете, какая переменная вам нужна, вы можете, например, пользователь array_search()
найти правильное имя на основе значения.
Внимание: $GLOBALS
относится к переменным глобальной области видимости.
EDIT:
Но это все еще будет предположение. Вы можете попробовать следующий метод, чтобы определить имя переданной переменной с ~ 100% достоверностью:
- Передать переменную методу со ссылкой.
- Используйте
array_search()
для поиска имени переменной. Если ему соответствует только один ключ, у вас есть ваше имя. Если нет, перейдите к следующему шагу.
- Сохраните начальное значение переменной и сохраните список позиций, в которых вы нашли соответствующие элементы.
- Измените значение переменной на новое. Выполните другой поиск на основе нового значения и получите позиции, которые также находятся в списке позиций из точки №. 3.
- На данный момент вы, вероятно, нашли имя переменной, которую вы ищете.
Но ...
Это действительно нужно? Я предлагаю вам поискать более простое решение, более совершенную инкапсуляцию вашего кода.
Ps. array_search()
фактически возвращает не более одного ключа ( см. Документацию ). Вы должны это знать и сделать поиск по нескольким результатам немного более сложным, чтобы не пропустить правильный, если более чем одна переменная соответствует вашим критериям поиска. ( EDIT2: Как и предполагал Марио, array_intersect($GLOBALS, array($var))
будет достаточно)