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