PHP-Fehler.Warum ist "Variable undefiniert" in array_map?
Frage
Ich verwende die array_map
-Funktion in meiner PHP-Anwendung.
Ich habe die Funktion array_map folgendermaßen definiert.
$ratingID = $this->db->insert_id();
$rated_item_array = array_map(function ($a) {
return $a + array('RatingID' => $ratingID);
}, $rated_item_array);
Php-Benachrichtigung kommt
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: ratingID
Wenn ich den $ratingID
drucke.Ich drucke den Wert korrekt, so dass $ RatingID definiert ist.
Warum ist es in der array_map
-Funktion nicht definiert?
Mein $rated_item_array
ist
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
)
)
Lösung
$rated_item_array = array_map(
function ($a) use ($ratingID){
return $a + array('RatingID' => $ratingID );
},
$rated_item_array
);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow