PHPエラー。なぜ「可変未定義」がarray_map内にあるのですか?

StackOverflow https://stackoverflow.com/questions/8891888

  •  29-10-2019
  •  | 
  •  

質問

使ってます array_map PHPアプリケーションで機能します。このようなarray_map関数を定義しました。

$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
        )
)
役に立ちましたか?

解決

$rated_item_array = array_map(
  function ($a) use ($ratingID){ 
    return $a + array('RatingID' => $ratingID ); 
  }, 
  $rated_item_array
);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top