警告:number_format()期望参数1为double,string

时间:2014-11-19 17:32:26

标签: php

以下代码产生此错误:

警告:number_format()期望参数1为double,第154行/home/as1609/public_html/branchscreen/search.php中给出字符串

            if (in_array($field, ['c', 'w', 'x', 'ad', 'ae', 'af', 'ag', 'ah', 'ai', 'aj', 'ak', 'al', 'am', 'an', 'ao', 'ap', 'aq', 'bd', 'be', 'br', 'bu', 'bx', 'by']) && $item[$field] > 999) {
                $item[$field] = number_format($item[$field], 0, '.', ',');

知道为什么吗?

2 个答案:

答案 0 :(得分:0)

number_format()函数需要一个float类型变量作为其第一个参数。

尝试像这样抛出参数:(float)$ item [$ field]

$field='x';
    $item[$field]='2929.69';
    if (in_array($field, ['c', 'w', 'x', 'ad', 'ae', 'af', 'ag', 'ah', 'ai', 'aj', 'ak', 'al', 'am', 'an', 'ao', 'ap', 'aq', 'bd', 'be', 'br', 'bu', 'bx', 'by']) && $item[$field] > 999) {
       echo  $item[$field] = number_format((float)$item[$field], 0, '.', ',');
    }

你可能有一些空间,而不是。 (float)将解析正确的方式

答案 1 :(得分:-1)

您正在尝试将字符串格式化为数字,但这不起作用。

您可以发布$item['c']的值,以便我们可以看到我们会看到哪种数据?

或者更好的是,发布$item的价值。