我如何在不使用数组的情况下获得foreach外部的值


How can i get the value outside foreach without using array?

我想得到calleridnum不使用数组。这可能吗?或者还有其他方法吗?

我有这样的代码:

$participants = [
    [   'calleridnum' => 1,
        'test' => 'yay' 
    ],
    [   'calleridnum' => 2,
        'test' => 'yay' 
    ],
     [   'calleridnum' => 3,
        'test' => 'yay' 
    ]
];
$conferance_participants = [
    [   'uid' => 1,
        'test' => 'yay2',
        'dit' => 'deze'
    ],
    [  'uid' => 2,
        'test' => 'test',
        'dit' => 'wew'
    ]
];
foreach ($participants as $key=>$p) {
    foreach ($conferance_participants as $key=>$cp) {
        if ($p['calleridnum'] == $cp['uid']) {
                $calleridnum[]  =   $p['calleridnum'];
        } 
    } 
}
print_r( $calleridnum );
我的输出是:
Array ( [0] => 1 [1] => 2 )

但是我希望输出是这样的

1,2

foreach loop之外使用implode()

 echo $str = implode (",", $calleridnum);

试试这个: Implode 你的数组转换成字符串。

  $calleridnum= [];
  foreach ($participants as $key=>$p) {
    foreach ($conferance_participants as $key=>$cp) {
     if ($p['calleridnum'] == $cp['uid']) {
            $calleridnum[]  =   $p['calleridnum'];
     } 
    } 
 }
$result = implode(',', $calleridnum);
echo $result;

我将简单地使用array_intersect, array_columnimplode作为

echo implode(',', array_intersect(array_column($conferance_participants,'uid'), array_column($participants,'calleridnum')));