duanpin2009 2010-10-18 12:03
浏览 29
已采纳

PHP:变量是int但不能执行计算

$bal = (int)$balance;
echo is_int($bal);

$balance is from a file_get_contents($webservice);

I am using (int) to convert a string to integer. is_int returns 1 for true as verification.

Because the value of $bal is always negative, I do the following calculation to make it a positive:

$bal = $bal * -1;

When I do this, the value becomes 0 even though $bal may be -150 previously.

EDIT 1 var_dump ($balance) is returning: string(110) " -399.6000"

EDIT 2 I have used XML Parser to assign variable to array - see my answer below.

  • 写回答

8条回答 默认 最新

  • dqjjw04440 2010-10-18 12:32
    关注

    The issue is that I was using file_get_contents to interact with a GET method for a Web Service.

    This was returning XML header data which I overlooked when assigning to a variable.

    To clear out the XML to leave me with just the value I wanted, I used the PHP XML_PARSER which stored file_get_contents into an array and allowed me to assign the array value to an integer.

    $result = file_get_contents($base);
    
    $p = xml_parser_create();
    xml_parse_into_struct($p, $result, $vals, $index);
    xml_parser_free($p);  
    $bal = $vals[0]['value'];
    echo $bal *-1;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?