2011-04-24 2 views
1

Могу ли я использовать функцию, которая находится за пределами текущей функции?PHP: Использовать функцию вне текущей функции

например.

function one($test){ 
return 1; 
} 
function two($id){ 
one($id); 
} 

Похоже, что я не могу, как мне это сделать, чтобы использовать функцию, которая находится снаружи? Благодаря

Функция находится в том же файле ../

+2

Если кто-то не мог этого сделать, функции могли бы только называть себя, что является довольно ограниченным использованием функций. Итак, да, конечно, вы можете сделать это так, и код, приведенный выше, совершенно прав. Почему вы думаете, что это не работает? Просто вызов 'two (5)' не приведет к выходу, поэтому вы не можете знать, работает ли он или нет. В любом случае, посмотрите: http://php.net/manual/en/language.functions.php –

ответ

5

Является ли ваша функция внутри класса? В этом случае вы должны использовать $this->function() вместо function().

1

Это хорошо работает. Однако one игнорирует его параметр. Затем two игнорирует возвращаемое значение от one.

3

Ваш код выглядит действительным для меня: вы объявляете две функции: one и two; и two вызывает one.

Затем вы можете вызвать любую из этих функций, чтобы выполнить ее.


Например, если выполнить следующую часть кода:

function one($test){ 
    var_dump(__FUNCTION__); 
    return 1; 
} 
function two($id){ 
    var_dump(__FUNCTION__); 
    one($id); 
} 

two('plop'); 

Обратите внимание, что я назвал two, в последней строке этого примера.


Вы получите этот вид продукции:

string 'two' (length=3) 

string 'one' (length=3) 

Это показывает, что обе функции были выполнены.

0

Это должно работать нормально Пример:

<?php 
function test ($asd) 
{ 
    return $asd; 
} 
function run() 
{ 
    return test('dd'); 
} 

echo run(); 
?> 

Может быть, у вас есть проблема в другом месте?

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