Php 多行和多数组

Php 多行和多数组,php,arrays,Php,Arrays,我正在从Asterisk获取包含两列的行,并希望分别处理每一行和每一列 $showmembers = shell_exec('asterisk -rx "database show QM/Exten" |head -n -1 | sed "s#/QM/Exten/##" | tr -d ":" |while read a b; do echo "$a, $b"; done'); 这会产生如下结果: 1111, 2222 3333, 4444 5555, 6666 让我们将第一列称为“numb

我正在从Asterisk获取包含两列的行,并希望分别处理每一行和每一列

$showmembers = shell_exec('asterisk -rx "database show QM/Exten" |head -n -1 | sed "s#/QM/Exten/##" | tr -d ":" |while read a b; do echo "$a, $b"; done');
这会产生如下结果:

1111, 2222
3333, 4444
5555, 6666
让我们将第一列称为“number”,第二列称为“agent”。 我希望在每一行上运行foreach循环,并在每次迭代中分别回显“number”和“agent”值

我得到的最接近的结果如下:

$showmembers = shell_exec('asterisk -rx "database show QM/Exten" |head -n -1 | sed "s#/QM/Exten/##" | tr -d ":" |while read a b; do echo "$a, $b"; done');
$members = explode(PHP_EOL, $showmembers);
foreach($members as $m) {
   echo "$m", PHP_EOL ;
}
它只输出以下内容:

1996, 3079
1997, 3001
1998, 3123

有什么提示吗?

运行填充代码后,您将有两个数组:第一列数字为array
$numbers
,第二列数字为array
$agents

$showmembers = shell_exec('asterisk -rx "database show QM/Exten" |head -n -1 | sed "s#/QM/Exten/##" | tr -d ":" |while read a b; do echo "$a, $b"; done');
$members = explode(PHP_EOL, $showmembers);
$numbers = $agents = array();
foreach($members as $m) {
   $tmp = explode(",", preg_replace('/ /', '', $m));
   $numbers = $tmp[0];
   $agents = $tmp[1];
}

谢谢各位。虽然我不能让你们的两个例子都按原样工作,但它确实让我更接近于一些有效的东西。
我最终使用了以下代码:

$agents=shell|u exec(“星号-rx'队列显示'| grep Agent | awk'{print$1\”\“$2}'| tr-d'('排序| uniq');
foreach(explode(PHP_EOL,$agents)作为$line)
{
if(预匹配(“/Agent/”,美元行)){
$agent=preg_split('/+/',$line);
echo“$agent[0]|”;
echo“$agent[1]
”; } }
$agents = shell_exec("asterisk -rx 'queue show' |grep Agent |awk '{print $1\" \"$2}' |tr -d '(' |sort |uniq");

foreach(explode(PHP_EOL, $agents) as $line)
{
 if (preg_match("/Agent/", $line)) {
 $agent = preg_split('/ +/', $line);
 echo "$agent[0] | ";
 echo "$agent[1] <br> ";
}
}