Mamy kilka tablic z danymi:
$array1 = array("id" => 12, "name" => "Karl"); $array2 = array("id" => 4, "name" => "Franz"); $array3 = array("id" => 9, "name" => "Helmut"); $array4 = array("id" => 10, "name" => "Kurt");
Naszym zadaniem jest uzyskanie z tego zbioru danych listy według wybranego klucza, np. wg. klucza name.
function array_merge_on_key($key, $array1, $array2) { $arrays = array_slice(func_get_args(), 1); $r = array(); foreach($arrays as &$a) { if(array_key_exists($key, $a)) { $r[] = $a[$key]; continue; } } return $r; } $result = array_merge_on_key("name", $array1, $array2, $array3, $array4); var_dump($result); // => tablica $c = implode(",", $result); // => łańcuch var_dump($c);
Otrzymamy najpierw tablicę:
array (4) 0 => "Karl" (4) 1 => "Franz" (5) 2 => "Helmut" (6) 3 => "Kurt" (4)
którą zamieniamy na łańcuch poleceniem implode z separatorem jakim jest przecinek:
"Karl,Franz,Helmut,Kurt" (22)