我有一个看起来像这样的数组
Array
(
[1] => Array
(
[name] => Zeze
[city] => Denver,
[state] => Colorado,
[country] => United States
[user_id] => 1
[cars] => Array
(
[140] => Array
(
[cars_name] => BMW
)
[162] => Array
(
[cars_name] => Mazda
)
)
)
[8] => Array
(
[name] => Lex
[city] => Schwelm,
[state] => North Rhine-Westphalia,
[country] => Germany
[user_id] => 5
[cars] => Array
(
[140] => Array
(
[cars_name] => Mercedes
)
[162] => Array
(
[cars_name] => Audi
)
)
)
)
我需要从user_id
中提取值并将其放在以逗号分隔的字符串中。
对于上面的数组,我想得到:
1,5
我有点困惑如何使用foreach
循环此数组,然后我将如何创建字符串?或者有更好的方法吗?
答案 0 :(得分:8)
$uids = Array();
foreach($users as $u) $uids[] = $u['user_id'];
$list = implode(",",$uids);
这假设您的数组名为$users
,$list
是输出。
答案 1 :(得分:2)
function get_uid($el) {
return $el["user_id"];
}
$csv = implode(array_map("get_uid", $your_array), ',');
echo $csv;
答案 2 :(得分:0)
使用foreach循环迭代多维数组中的每个项目,并将该项目视为普通数组。然后将user_id值推入另一个数组,并用逗号将其内嵌,以逗号分隔。
$user_ids = array();
foreach($arr in $multidim_arr) {
array_push($user_ids, $arr["user_id"]);
}
$user_ids = implode(",", $user_ids);
答案 3 :(得分:0)
这将是最简单的方法:
echo implode(",",array_column($ myArray," user_id"));
答案 4 :(得分:-1)
{{1}}