在php中删除部分变量String

时间:2016-03-03 22:29:25

标签: php

我有public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 函数,它将" 0,11 \ u20ac " 作为返回值。

" 0,11 " 不是静态的。 我想用下面的字符串中的 " 0,11" 做一些数学运算。

下面显示的我的代码不符合我的要求。有人知道如何完成这项任务吗?我是非常新的PHP。

get_price_data();

2 个答案:

答案 0 :(得分:1)

<?php 
function get_price_data() {
    $json = file_get_contents("http://steamcommunity.com/market/priceoverview/?currency=3&appid=730&market_hash_name=Chroma%202%20Case");
    $decode = json_decode($json,1);
    return $decode['median_price'];  // return here instead of echo.
}

这个return是必要的,因为这是一个函数。 PHP函数中没有特别要求return语句(如果没有显式返回值,函数将默认返回null。)您需要返回的原因是您使用的是返回值在这个声明中:

$string=get_price_data();

使用echo代替return$string将在此处设置为null,对其进行的任何后续操作显然都不会达到您的预期效果。

如果您将功能更改为return $decode['median_price']的值,则$string=get_price_data();会将0,11€分配给$string,然后您的替换和计算应该按预期工作。

$string=str_replace(array('€','\u20ac'),'',$string);
$string = str_replace(",",".",$string);  // replace , with . as noted by mertizci
echo $string * 1000 - 120;
?>

答案 1 :(得分:0)

由于价格变化值中的逗号,PHP无法对其进行数学处理。你也应该用点更改逗号。

您的代码应该(编辑):

    <?php  
$string=get_price_data();
$string=str_replace(array('€','\u20ac'),'',$string);
$string = str_replace(",",".",$string);  
echo $string * 1000 - 120;
    ?>