Php 从字母数字字符串中去掉小数和剩余的零

Php 从字母数字字符串中去掉小数和剩余的零,php,trim,Php,Trim,我在magento的成功页面上返回订单。问题出在我的quantity(QTY)变量上,它返回的值类似于QTY 2.0000 我尝试了一些方法,比如$itemQTY\u str+0,我认为这只适用于非字母数字字符串。此外,我还尝试了(floatval)$itemQTY\u str $order=Mage::getModel('sales/order')->getCollection()->addFieldToFilter('increment_id',$this->getOrde

我在magento的成功页面上返回订单。问题出在我的quantity(QTY)变量上,它返回的值类似于QTY 2.0000

我尝试了一些方法,比如
$itemQTY\u str+0
,我认为这只适用于非字母数字字符串。此外,我还尝试了
(floatval)$itemQTY\u str

$order=Mage::getModel('sales/order')->getCollection()->addFieldToFilter('increment_id',$this->getOrderId());
$order=$order->getFirstItem();

$order_items=$order->getAllVisibleItems();

$productIds=array();
$itemSKU_str = $itemAMT_str = $itemQTY_str = '';
$i = 1;

foreach($order_items as $order_item) {  
    $_product=Mage::getModel('catalog/product')->load($order_item->getProductId());

    if($_product->getData('fb_pinterest_share')) {
        $productIds[]=$order_item->getProductId();
    }

    if($_SERVER['REMOTE_ADDR'] == '00.00.00.000'){      
        $itemSKU_str = $itemSKU_str . 'ITEM'. $i . '=' . $order_item->getSku() . '&';
        $itemAMT_str = $itemAMT_str . 'AMT'. $i . '=' . $order_item->getPrice() . '&';
        $itemQTY_str = $itemQTY_str . 'QTY'. $i . '=' . $order_item->getQtyOrdered() . '&';
    }

    $i++;

}

/* COMMISSION JUNCTION TRACKING CODE - START */
if($_SERVER['REMOTE_ADDR'] == '00.00.00.000'){
    $order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());

    $con = mysqli_connect('localhost', '******', '*******', '*******');
    if (mysqli_connect_errno()){
        //echo 'Failed to connect to MySQL: ' . mysqli_connect_error();
    }else{  
        $result = mysqli_query($con, "
            SELECT  customer_id
            FROM    sales_flat_order
            WHERE   status = 'complete'
            AND     customer_email LIKE '" . $order->getCustomerEmail() . "'
        ");

        if(mysqli_num_rows($result) > 0){
            //returning customer
            echo '
<iframe height="1" width="1" frameborder="0" scrolling="no" src="https://www.emjcd.com/tags/c?containerTagId=4813&amp;' . $itemSKU_str . $itemAMT_str . (float)$itemQTY_str . 'CID=1527930&amp;OID=' . $this->getOrderId() . '&amp;TYPE=362236&amp;CURRENCY=USD" name="cj_conversion"></iframe>
            ';
        }else{
            //new customer
            echo '
<iframe height="1" width="1" frameborder="0" scrolling="no" src="https://www.emjcd.com/tags/c?containerTagId=4812&amp;' . $itemSKU_str . $itemAMT_str . $itemQTY_str . 'CID=1527930&amp;OID=' . $this->getOrderId() . '&amp;TYPE=362235&amp;CURRENCY=USD" name="cj_conversion"></iframe>
            ';
        }
    }
}
我也尝试过直接编辑字符串

$itemQTY_str = $itemQTY_str . 'QTY'. $i . + 0 '=' . $order_item->getQtyOrdered() . '&';

$itemQTY_str = $itemQTY_str . 'QTY'. $i . '=' . $order_item->getQtyOrdered(). + 0 . '&';
希望这是清楚的。。非常感谢您的帮助


谢谢。

将值转换为整数

$itemQTY_str = $itemQTY_str . 'QTY'. $i . '=' . (int)$order_item->getQtyOrdered() . '&';

让我们看看你到底想要什么<代码>数量2或仅
2
?我最终想要的只是数量1=2&;QTY2=3。。。。数量金额后没有其他内容。。没有小数点也没有零。请尝试
sprintf(“%d”,值,结果)
@Cheery QTY2,后面没有小数点或零。为了澄清:您查询的给定结果是“QTY 2.000”,您想将其更改为2吗?还是我弄错了?这似乎使QTY完全消失了。是的,如果字符串以“QTY”开头,(int)函数将返回0Ahh,这就是整个字符串。好的,所以在构建$itemQTY_str时需要将数量值转换为int。我已经编辑了代码。
$itemQTY_str = $itemQTY_str . 'QTY'. $i . + 0 '=' . $order_item->getQtyOrdered() . '&';

$itemQTY_str = $itemQTY_str . 'QTY'. $i . '=' . $order_item->getQtyOrdered(). + 0 . '&';
$itemQTY_str = $itemQTY_str . 'QTY'. $i . '=' . (int)$order_item->getQtyOrdered() . '&';