$myAry = array();
// I want to return the array's name.
// something like
echo $myAry.name;
// Should print "$myAry".
Спасибо,Как вернуть «имя» Массив как строку
$myAry = array();
// I want to return the array's name.
// something like
echo $myAry.name;
// Should print "$myAry".
Спасибо,Как вернуть «имя» Массив как строку
Но если вы наберете $myAry
вы уже знаете имя переменной. Что такое это вы пытаетесь достичь?
Если вы абсолютно необходимо знать личность ваших переменных ...
function my_function ($my_array) {
$caller_info = array_shift(debug_backtrace());
$lines = file($caller_info['file']);
$line = $lines[$caller_info['line'] - 1];
if(preg_match('/my_function\\s*\\(\$(\\w+)/', $line, $matches)) {
$name_of_my_array = $matches[1];
echo $name_of_my_array;
}
}
Является ли это то, что вы хотите?
Спасибо, это близко, но он возвращает только имя аргумента my_function (например, $ my_array) каждый раз, независимо от того, какой массив передан, а не то, что имеет аргумент arg. Пример: если я использую его так: my_function ($ new_name) Он должен возвращать строку «$ new_name», а не «$ my_array», как это происходит каждый раз. – SpaceCorp
Вы можете получить имя аргумента, как это:
function get_function ($my_array) {
$f = new ReflectionFunction($my_array);
$result = array();
foreach ($f->getParameters() as $param) {
$result[] = $param->name;
}
return $result;
}
function sayHello($helloWorlds){
echo $helloWorld;
}
print_r(get_function('sayHello'));;
//Output
Array ([0] => helloWorlds)
$ массив = массив ('name12'); $ comma_separated = implode (",", $ array);
echo $ comma_separated; // name12
// Пустая строка при использовании пустого массива:
var_dump (взрывать ('привет', массив())); // string (0) ""
Не ищите элементы. – SpaceCorp
чувак сначала изучите базовый язык php или посмотрите некоторые уроки – Beginner
Какой надменный комментарий, когда человек даже не знает, что делает человек! – SpaceCorp
Это сообщение решило мою проблему: http://stackoverflow.com/questions/255312/how-to-get-a-variable-name-as-a-string-in-php – SpaceCorp