2016-12-27 2 views
0
$myAry = array(); 

// I want to return the array's name. 

// something like 
echo $myAry.name; 

// Should print "$myAry". 

Спасибо,Как вернуть «имя» Массив как строку

+0

чувак сначала изучите базовый язык php или посмотрите некоторые уроки – Beginner

+0

Какой надменный комментарий, когда человек даже не знает, что делает человек! – SpaceCorp

+0

Это сообщение решило мою проблему: http://stackoverflow.com/questions/255312/how-to-get-a-variable-name-as-a-string-in-php – SpaceCorp

ответ

0

Но если вы наберете $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; 
    } 

} 

Является ли это то, что вы хотите?

+0

Спасибо, это близко, но он возвращает только имя аргумента my_function (например, $ my_array) каждый раз, независимо от того, какой массив передан, а не то, что имеет аргумент arg. Пример: если я использую его так: my_function ($ new_name) Он должен возвращать строку «$ new_name», а не «$ my_array», как это происходит каждый раз. – SpaceCorp

0

Вы можете получить имя аргумента, как это:

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) 
+0

Не ищите элементы. – SpaceCorp

+0

@SpaceCorpSolutions найти решение проблемы, пожалуйста, проверьте. – Query3j

0

$ массив = массив ('name12'); $ comma_separated = implode (",", $ array);

echo $ comma_separated; // name12

// Пустая строка при использовании пустого массива:

var_dump (взрывать ('привет', массив())); // string (0) ""

+0

Не ищите элементы. – SpaceCorp

Смежные вопросы