我有一个格式的数组:
array (
'1' => array (
'id' => '2',
'qty' => '4'
),
'2' => array (
'id' => '1',
'qty' => '1'
),
'3' => array (
'id' => '2',
'qty' => '3'
),
'4' => array (
'id' => '4',
'qty' => '6'
)
);
并希望找到列“ id”的所有重复项,并将其合并为一个(将“ qty”的值相加在一起)。
有没有比两个foreach更好的方法了? -对我来说似乎太暴力了。
参考方案
不漂亮,但是我认为它可以做(编辑以保持格式):
$id = array();
foreach($array as $v) {
if( $id[$v['id']] ) {
$id[$v['id']]['qty'] += $v['qty'];
} else {
$id[$v['id']] = $v;
}
}
// Optional reset keys
// $id = array_values($id);
// Optional sort keys in ascending order
// ksort($id);
print_r($id);
给出:
Array
(
[2] => Array
(
[id] => 2
[qty] => 7
)
[1] => Array
(
[id] => 1
[qty] => 1
)
[4] => Array
(
[id] => 4
[qty] => 6
)
)
验证IBAN PHP - php在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…
PHP:对数组排序 - php请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…