2013-05-31 70 views
0

我需要在生成的字符串中添加某种匹配计数,但我不知道如何。有没有办法给数组添加一些计数?获取数组中值的数值

我有以下代码(数据库查询的,而之前执行):

while (!$products->EOF) { 
     $purchasedArray[] = array('products_model'=>$products->fields['products_model'], 
           'products_name'=>$products->fields['products_name'], 
           'final_price'=>$products->fields['final_price'], 
           'products_quantity'=>$products->fields['products_quantity']); 
     $products->MoveNext(); 
} 
foreach ($purchasedArray as $purchased) { 
    $formattedProductname[] = $purchased['products_name']; 
    $formattedPrice[] = $purchased['final_price']; 
    $formattedUnits[] = $purchased['products_quantity']; 
} 
$listFinal = implode('|', $formattedProductname); 

现在,这是所有伟大的,工作正常,但我会需要以下的输出:

product1=cookie|10.00|2&product2=paper|5.00|17&product3=... 

我寻寻觅觅,只是似乎无法找到如何添加计数任何信息(产品* *,产品* * ...) 我应该能(可能)是这个样子:

foreach ($purchasedArray as $purchased) { 
    $formattedProducts[] = 'product'.**$position** . '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity']; 
    $formattedProductname[] = $purchased['products_name']; 
    $formattedPrice[] = $purchased['final_price']; 
    $formattedUnits[] = $purchased['products_quantity']; 
} 

$listFinal = implode('&', $formattedProducts); 
$listFinalProducts = implode('|', $formattedProductname); 

,但我完全不知道如何获取$position部分...任何帮助将非常感激。

回答

0

您可以通过数组的关键做到这一点:

foreach ($purchasedArray as $key=>$purchased) { 
    $formattedProducts[] = 'product'. $key . '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity']; 
    $formattedProductname[] = $purchased['products_name']; 
    $formattedPrice[] = $purchased['final_price']; 
    $formattedUnits[] = $purchased['products_quantity']; 
} 

或者你也可以通过添加计数做到这一点:

$count = 0; 
    foreach ($purchasedArray as $purchased) { 
     $count++; 
     $formattedProducts[] = 'product'. $count . '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity']; 
     $formattedProductname[] = $purchased['products_name']; 
     $formattedPrice[] = $purchased['final_price']; 
     $formattedUnits[] = $purchased['products_quantity']; 
    } 
0
$idx=1; 
foreach ($purchasedArray as $purchased) { 
    //$formattedProducts[] = 'product'.**$position** . '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity']; 
    $formattedProducts[] = 'product'.$idx. '=' . $purchased['products_name'] . '|' . $purchased['final_price'] . '|' . $purchased['products_quantity']; 
    $idx++; 
    $formattedProductname[] = $purchased['products_name']; 
    $formattedPrice[] = $purchased['final_price']; 
    $formattedUnits[] = $purchased['products_quantity']; 
}