27
我在我的php应用程序中使用array_map
函数。 我像这样定义了array_map函数。PHP错误。为什么array_map中的“variable undefined”?
$ratingID = $this->db->insert_id();
$rated_item_array = array_map(function ($a) {
return $a + array('RatingID' => $ratingID);
}, $rated_item_array);
PHP的通知来
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: ratingID
当我打印的$ratingID
。我正确输出值,所以定义了$ ratingID。 为什么它在array_map
函数中是未定义的? 我$rated_item_array
是
Array
(
[0] => Array
(
[RatingFactorPreferenceID] => 1,
[PreferenceID] => 45,
[RatedValue] => 1,
[CreatedOn] => 1326790338,
[CreatedBy] => 25
)
[1] => Array
(
[RatingFactorPreferenceID] => 2,
[PreferenceID] => 45,
[RatedValue] => 1,
[CreatedOn] => 1326790338,
[CreatedBy] => 25
)
[2] => Array
(
[RatingFactorPreferenceID] => 3,
[PreferenceID] => 45,
[RatedValue] => 1,
[CreatedOn] => 1326790338,
[CreatedBy] => 25
)
)
完美。非常感谢你 – 2012-01-17 09:02:45
谢谢你的好答案。 – 2014-10-28 02:54:43
从匿名函数的php.net文档。 “闭包也可以继承父范围的变量,任何这样的变量都必须传递给使用语言构造。”看看示例#3 http://php.net/manual/en/functions.anonymous.php – 2015-06-12 14:39:39