Php 打印循环外的数组
我有一个名为users的数组,其中包含分配给项目的用户。 例如:用户标识1、2、3、4和5 我试图从该数组中获取所有用户id,并在单独的变量中打印出来。下面的代码在循环中非常有效。它获取所有的用户id并像12345一样打印出来 但当我在循环外打印时,它只打印最后一个id 5Php 打印循环外的数组,php,arrays,loops,Php,Arrays,Loops,我有一个名为users的数组,其中包含分配给项目的用户。 例如:用户标识1、2、3、4和5 我试图从该数组中获取所有用户id,并在单独的变量中打印出来。下面的代码在循环中非常有效。它获取所有的用户id并像12345一样打印出来 但当我在循环外打印时,它只打印最后一个id 5 foreach ($users as $key => $value) { // THIS WRITE ALL USER ID echo $key = sprintf( '%s', $value['id']
foreach ($users as $key => $value) {
// THIS WRITE ALL USER ID
echo $key = sprintf( '%s', $value['id'] );
}
// I WANT TO GET ALL USERID HERE (OUTSIDE THE LOOP).
// RIGHT NOW IT ONLY WRITE THE LAST USER ID
echo $key = sprintf( '%s', $value['id'] );
对不起,我英语不好☺️
编辑
多亏了菲利普·莫勒,我终于成功了!☺️
我接下来要做的是向每个用户发送通知。
$row=用户id
如果我这样写,什么也不会发生:
$ids = array_column($users, 'id');
$userid = implode(', ', $ids);
$data=explode(',',$userid);
foreach($data as $row)
{
$um_notifications->api->store_notification( $row, 'new_action', $vars );
}
但是如果我手动编写$userid=1,5,8;与它从发送给每个用户的数组中写入内容相同 每次迭代都会替换$key变量,对$users key使用内爆函数:
编辑:添加了正确的语法要从数组中检索所有用户ID,可以使用array\u列,它将从数组中的每个元素检索指定字段 然后可以使用内爆将所有内容添加到一个字符串中,并对其进行回显
该循环的每次迭代都会覆盖$key的上一个值,因此最终只会将最后一个值指定给key
echo implode(',', array_keys($users));
$ids = array_column($users, 'id');
echo implode(', ', $ids);