我有一个小问题。我正在处理一个小包裹/产品列表。
如果你在查看一个包裹,我的网站应该向你展示哪些产品在里面。
如果一个产品在里面出现了多次,数组应该被删除,并且剩余数组的值应该+1(每个被删除的数组)。
这是我的代码:
我得到了正确的多维数组,但计数仍为1。 代码有什么问题吗?
每次我尝试记录代码时,我都会得到正确的整数。(不,我已经尝试过删除缓存) 但如果我在循环之外记录数组,我始终会得到计数为1。
这是我的代码:
// $products_in_package has all products in it
// First of all, the products come from a db and don't have a count
// So i first give them a count of 1
foreach ($products_in_package as $product => $value) {
$products_in_package[$product]['count'] = intval(1);
}
foreach ($products_in_package as $product) {
$id_to_find = intval($product['ID']);
$product_count = intval($product['count']);
$found_id = 0;
// Now I try to find any ident products
// If found and over 1 time (beacouse he finds the first too of course)
// Then delete this array and count up the products count
for ($i=0; $i <= count($products_in_package); $i++) {
if(intval($products_in_package[$i]['ID']) === $id_to_find){
$found_id++;
if($found_id > 1){
$product_count = $product_count + 1;
$product['count'] = $product_count;
unset($products_in_package[$i]);
array_merge($products_in_package);
while($i > $products_in_package){
$i = 0;
}
}
}
}
}
我得到了正确的多维数组,但计数仍为1。 代码有什么问题吗?
每次我尝试记录代码时,我都会得到正确的整数。(不,我已经尝试过删除缓存) 但如果我在循环之外记录数组,我始终会得到计数为1。