Php 打印循环外的数组

Php 打印循环外的数组,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']

我有一个名为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'] );
}

// 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);