сохранение функции массива foreach в переменной? - PullRequest
2 голосов
/ 18 марта 2011
 $numbers = array('1','2');
 $numberlist = foreach($numbers as $number) {
      echo $number;
 } 

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

Ответы [ 3 ]

5 голосов
/ 18 марта 2011
$numberList = function( $input )
{
    foreach( $input as $v )
        echo $v;
};

$numberList( $numbers );

См. PHP Anon

Примечание: Анонимные функции доступны начиная с PHP 5.3.0.

* * 1010

(Для правильной работы функция должна быть $ numberList с большой буквы L).

1 голос
/ 18 марта 2011

Я думаю, что Мэтью пытается сохранить функцию в переменной в PHP.Я думаю, что эта ссылка - то, что вы ищете:

http://php.net/manual/en/functions.variable-functions.php

1 голос
/ 18 марта 2011

Если вы пытаетесь сохранить ссылку на код для цикла foreach в переменной $numberlist, это невозможно сделать: циклы не являются функциями.

Если вам нужен объект, на котором вы можете ездить, вам нужно создать интегратор. Если это так, я предлагаю вам взглянуть на Стандартная PHP-библиотека .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...