0

変数「$field」をラムダ関数に渡す方法は?

function implode_assoc_array($array, $field)
{
    // $ids = array_column($array, $field); PHP 5.5!
    $ids = array_map(function($item) { return $item[$field]; }, $array);
    return implode(', ', $ids);
}

implode_assoc_array($my_multidimensional_array, 'id');

メッセージ: 未定義の変数: フィールド

4

2 に答える 2

4

試す

array_map(function($item) use($field) { return $item[$field]; }, $array);

例を参照してくださいhttp://php.net/manual/en/functions.anonymous.php

于 2013-09-27T14:42:49.220 に答える
0
function implode_assoc_array($array, $field)
{
    // $ids = array_column($array, $field); PHP 5.5!
    $ids = array_map(function($item) use ($field) { return $item[$field]; }, $array);
    return implode(', ', $ids);
}

implode_assoc_array($my_multidimensional_array, 'id');

変数を変更する場合は、

    $ids = array_map(function($item) use (&$field) { return $item[$field]; }, $array);

PHP のマニュアル ページ、例 #3 クロージャとスコープを参照してください。

于 2013-09-27T14:46:03.540 に答える