繁体   English   中英

获取数组中数值的数值

[英]get numeric value for values in array

我需要在生成的字符串中添加某种匹配计数,但是我不知道如何。 有没有一种方法可以增加一些计数到数组?

我有以下代码(在此之前立即执行数据库查询):

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=...

我正在搜索,但似乎找不到有关如何添加该计数的任何信息(product * 1 *,product * 2 * ...)。我应该(可能)看起来像这样:

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部分...任何帮助将不胜感激。

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

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'];
    }
$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'];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM