Php 阵列爆炸问题
所有exparts I面临阵列爆炸问题 data.txt的内容如下Php 阵列爆炸问题,php,Php,所有exparts I面临阵列爆炸问题 data.txt的内容如下 Peer Call ID Duration Recv: Pack Lost ( %) Jitter Send: Pack Lost ( %) Jitter 139.59.232.196 0bb9262d6a1 00:01:12 0000003558 0000000000 ( 0.00%) 0.0000 0000001177 000000000
Peer Call ID Duration Recv: Pack Lost ( %) Jitter Send: Pack Lost ( %) Jitter
139.59.232.196 0bb9262d6a1 00:01:12 0000003558 0000000000 ( 0.00%) 0.0000 0000001177 0000000000 ( 0.00%) 0.0200
139.59.232.196 41283499492 00:00:00 0000000000 0000000000 ( 0.00%) 0.0000 0000000000 0000000000 ( 0.00%) 0.0000
139.59.232.196 7033a541240 00:00:08 0000000000 0000000000 ( 0.00%) 0.0000 0000000019 0000000000 ( 0.00%) 0.0000
3 active SIP channels
PHP代码如下所示
$heads = [ 'Peer', 0, 0, 'CallId', 0, 'Duration', 'Recv', 0, 'RecvLost', 0, 'RecvPC', 'RJitter', 'Send', 0, 'SendLost', 0, 'SendPC', 'SJitter'];
$data = file('data.txt', FILE_IGNORE_NEW_LINES);
unset($data[0]); // Lose heading line
$list = [];
foreach ($data as $str) {
$list[] = array_combine($heads, explode(' ',$str));
}
打印(列表);把这样的东西放在下面
Array
(
[0] => Array
(
[Peer] => 139.59.232.196
[0] => (
[CallId] => 0bb9262d6a1
[Duration] => 00:01:12
[Recv] => 0000003558
[RecvLost] => 0000000000
[RecvPC] => 0.00%)
[RJitter] => 0.0000
[Send] => 0000001177
[SendLost] => 0000000000
[SendPC] => 0.00%)
[SJitter] => 0.0200
)
[1] => Array
(
[Peer] => 139.59.232.196
[0] => (
[CallId] => 41283499492
[Duration] => 00:00:00
[Recv] => 0000000000
[RecvLost] => 0000000000
[RecvPC] => 0.00%)
[RJitter] => 0.0000
[Send] => 0000000000
[SendLost] => 0000000000
[SendPC] => 0.00%)
[SJitter] => 0.0000
)
[2] => Array
(
[Peer] => 139.59.232.196
[0] => (
[CallId] => 7033a541240
[Duration] => 00:00:08
[Recv] => 0000000000
[RecvLost] => 0000000000
[RecvPC] => 0.00%)
[RJitter] => 0.0000
[Send] => 0000000019
[SendLost] => 0000000000
[SendPC] => 0.00%)
[SJitter] => 0.0000
)
)
当我调用它们时,我必须这样做,$list['0'][Duration],然后它会给数组0 Duration字段数据,但我想当我调用$list[Duration]时,它会给我所有数组Duration数据,如下所示
00:01:12 00:00:00 00:00:08
感谢您的关注…您需要功能:
$durations = array_column($list, 'Duration');
对于php早于5.5
的版本,您需要一个简单的foreach
函数:
$durations = array_column($list, 'Duration');
对于php比
5.5
旧的,您需要一个简单的foreach
我不完全清楚您的意思,但您在寻找什么?您尝试了什么?不幸的是,StackOverflow不是为您提供的免费代码编写服务亲爱的,Martin我非常清楚StackOverflow不是为我提供的免费代码编写服务,我不必向您学习&恕我直言,我建议您尊重新来者,我们不是学习者!希望你能表现自己,我分享我目前的代码,这意味着我没有要求为我写代码,不管怎样,忘了它吧,世界上有很多像你这样的人,但也有很多其他类型的人喜欢分享知识、教书或帮助他人,所以,请我要求你们保持你们自己的恶劣行为不需要在论坛上显示。谢谢…我不太明白你的意思,但你在找什么?你试过什么?不幸的是,StackOverflow不是为您提供的免费代码编写服务亲爱的,Martin我非常清楚StackOverflow不是为我提供的免费代码编写服务,我不必向您学习&恕我直言,我建议您尊重新来者,我们不是学习者!希望你能表现自己,我分享我目前的代码,这意味着我没有要求为我写代码,不管怎样,忘了它吧,世界上有很多像你这样的人,但也有很多其他类型的人喜欢分享知识、教书或帮助他人,所以,请我要求你们保持你们自己的恶劣行为不需要在论坛上显示。谢谢