在我的数组结果下面找到
Array
(
[0] => Array
(
[0] => stdClass Object
(
[task_id] => 1
)
)
[1] => Array
(
[0] => stdClass Object
(
[task_id] => 28
)
[1] => stdClass Object
(
[task_id] => 43
)
[2] => stdClass Object
(
[task_id] => 44
)
)
)
我想将task_id存储为字符串,如下所示
Array(
[0] => 1
[1] => 28,43, 44
)
我尝试了内爆它不起作用任何人都可以帮助我吗?
答案 0 :(得分:1)
你可以这样做:
foreach ($arr as &$item) {
$item = implode(',', array_map(function ($i) { return $i->task_id; }, $item));
}
数组的每个项都是一个stdClass实例数组,其属性为task_id
。使用array_map
我将其更改为整数数组,然后我只需使用implode
并将结果影响到当前项目。
答案 1 :(得分:1)
ideone:http://ideone.com/MnUohR
If Not Intersect(ActiveCell, [myTable]) Is Nothing Then
答案 2 :(得分:0)
或者,你可以做两个foreach
循环,如:
foreach ($arr as $k1 => $a1) foreach ($a1 as $a2) $barr[$k1][]=$a2['task_id'];
print_r($barr);
在此处查看一个小演示:http://rextester.com/ACKZ42424
$barr
是新数组。
编辑:啊,对不起,我误解了很多细节。只是注意到你想要将元素连接成一个字符串。并且数组包含StdObjects而不是数组......就像一个小练习 - 即使没有人感兴趣 - 这是我的纠正解决方案:
foreach ($arr as &$a1){ $t=null; foreach ($a1 as $a2) $t[]=$a2->task_id;
$a1=join(',',$t);
}
print_r($arr);
此时转换也已完成"就地" ...
见这里:http://rextester.com/JLO86317