以下代码产生此错误:
警告: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, '.', ',');
知道为什么吗?
答案 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
的价值。