数组取值
程序员文章站
2024-01-30 21:00:46
...
Array( [iso.3.6.1.4.1.2021.4.1.0] => INTEGER: 0 [iso.3.6.1.4.1.2021.4.2.0] => STRING: "swap" [iso.3.6.1.4.1.2021.4.3.0] => INTEGER: 16777208 [iso.3.6.1.4.1.2021.4.4.0] => INTEGER: 16777208 [iso.3.6.1.4.1.2021.4.5.0] => INTEGER: 16324040 [iso.3.6.1.4.1.2021.4.6.0] => INTEGER: 4484096 [iso.3.6.1.4.1.2021.9.1.6.1] => INTEGER: 1032088 [iso.3.6.1.4.1.2021.9.1.6.2] => INTEGER: 458942624 [iso.3.6.1.4.1.2021.9.1.6.3] => INTEGER: 8162020 [iso.3.6.1.4.1.2021.9.1.6.4] => INTEGER: 99150 [iso.3.6.1.4.1.2021.9.1.6.5] => INTEGER: 3096336 [iso.3.6.1.4.1.2021.9.1.6.6] => INTEGER: 1032088 )
怎么取键值是iso.3.6.1.4.1.2021.9.1.6.* 的值 就是把前面 键值是iso.3.6.1.4.1.2021.9.1.6的所有值 加起来
回复讨论(解决方案)
贴出用 var_export 打印出的结果
array ( 'iso.3.6.1.4.1.2021.4.1.0' => 'INTEGER: 0', 'iso.3.6.1.4.1.2021.4.2.0' => 'STRING: "swap"', 'iso.3.6.1.4.1.2021.4.3.0' => 'INTEGER: 16777208', 'iso.3.6.1.4.1.2021.4.4.0' => 'INTEGER: 16777208', 'iso.3.6.1.4.1.2021.4.5.0' => 'INTEGER: 16324040', 'iso.3.6.1.4.1.2021.4.6.0' => 'INTEGER: 4483856', 'iso.3.6.1.4.1.2021.4.11.0' => 'INTEGER: 21261064', 'iso.3.6.1.4.1.2021.4.12.0' => 'INTEGER: 16000', 'iso.3.6.1.4.1.2021.4.14.0' => 'INTEGER: 72720', 'iso.3.6.1.4.1.2021.4.15.0' => 'INTEGER: 11089928', 'iso.3.6.1.4.1.2021.4.100.0' => 'INTEGER: 0', 'iso.3.6.1.4.1.2021.9.1.6.1' => 'INTEGER: 1032088', 'iso.3.6.1.4.1.2021.9.1.6.2' => 'INTEGER: 458942624', 'iso.3.6.1.4.1.2021.9.1.6.3' => 'INTEGER: 8162020', 'iso.3.6.1.4.1.2021.9.1.6.4' => 'INTEGER: 99150', 'iso.3.6.1.4.1.2021.9.1.6.5' => 'INTEGER: 3096336', 'iso.3.6.1.4.1.2021.9.1.6.6' => 'INTEGER: 1032088',)
数组太多了 我删除了一些 值留了一些能说明问题的
$arr=array( 'iso.3.6.1.4.1.2021.4.1.0' => '0', 'iso.3.6.1.4.1.2021.4.2.0' => 'swap', 'iso.3.6.1.4.1.2021.4.3.0' => '16777208', 'iso.3.6.1.4.1.2021.4.4.0' => '16777208', 'iso.3.6.1.4.1.2021.4.5.0' => '16324040', 'iso.3.6.1.4.1.2021.4.6.0' => '4484096', 'iso.3.6.1.4.1.2021.9.1.6.1' => '1032088', 'iso.3.6.1.4.1.2021.9.1.6.2' => '458942624', 'iso.3.6.1.4.1.2021.9.1.6.3' => '8162020', 'iso.3.6.1.4.1.2021.9.1.6.4' => '99150', 'iso.3.6.1.4.1.2021.9.1.6.5' => '3096336', 'iso.3.6.1.4.1.2021.9.1.6.6' => '1032088');$num=0;foreach($arr as $k=>$v){ if(version_compare($k, 'iso.3.6.1.4.1.2021.9.1.6.0', '>')){ $num+=$v; }}echo $num;/*472364306*/
$ar = 你的数组$res = array();foreach($ar as $k=>$v){ if(strpos($k, 'iso.3.6.1.4.1.2021.9.1.6') !== false){ $t = explode(': ', $v); $res[] = $t[1]; }}echo array_sum($res);
$ar = array ( 'iso.3.6.1.4.1.2021.4.1.0' => 'INTEGER: 0', 'iso.3.6.1.4.1.2021.4.2.0' => 'STRING: "swap"', 'iso.3.6.1.4.1.2021.4.3.0' => 'INTEGER: 16777208', 'iso.3.6.1.4.1.2021.4.4.0' => 'INTEGER: 16777208', 'iso.3.6.1.4.1.2021.4.5.0' => 'INTEGER: 16324040', 'iso.3.6.1.4.1.2021.4.6.0' => 'INTEGER: 4483856', 'iso.3.6.1.4.1.2021.4.11.0' => 'INTEGER: 21261064', 'iso.3.6.1.4.1.2021.4.12.0' => 'INTEGER: 16000', 'iso.3.6.1.4.1.2021.4.14.0' => 'INTEGER: 72720', 'iso.3.6.1.4.1.2021.4.15.0' => 'INTEGER: 11089928', 'iso.3.6.1.4.1.2021.4.100.0' => 'INTEGER: 0', 'iso.3.6.1.4.1.2021.9.1.6.1' => 'INTEGER: 1032088', 'iso.3.6.1.4.1.2021.9.1.6.2' => 'INTEGER: 458942624', 'iso.3.6.1.4.1.2021.9.1.6.3' => 'INTEGER: 8162020', 'iso.3.6.1.4.1.2021.9.1.6.4' => 'INTEGER: 99150', 'iso.3.6.1.4.1.2021.9.1.6.5' => 'INTEGER: 3096336', 'iso.3.6.1.4.1.2021.9.1.6.6' => 'INTEGER: 1032088',);$num = 0;foreach($ar as $k=>$v){ if($k >= 'iso.3.6.1.4.1.2021.9.1.6.1'){ strtok($v, ':'); $num += strtok(''); }}echo $num;
上一篇: PHP路由性能测试
下一篇: PHP如何输出调试信息到log里?