PHP number_格式不返回值
现行法规的相关章节:PHP number_格式不返回值,php,number-formatting,Php,Number Formatting,现行法规的相关章节: $xml=simplexml_load_file($file); $number=$xml->data->value; imagettftext($image,$size,$angle,$x,$y,$colour,$font,$number); 其目标是显示存储在xml文件中的值,该文件当前按原样工作。然而,更大的数字有点碍眼。我认为数字格式可以解决这个问题,所以我尝试: $xml=simplexml_load_file($file); $number=$xm
$xml=simplexml_load_file($file);
$number=$xml->data->value;
imagettftext($image,$size,$angle,$x,$y,$colour,$font,$number);
其目标是显示存储在xml文件中的值,该文件当前按原样工作。然而,更大的数字有点碍眼。我认为数字格式可以解决这个问题,所以我尝试:
$xml=simplexml_load_file($file);
$number=$xml->data->value;
imagettftext($image,$size,$angle,$x,$y,$colour,$font,number_format($number));
以及:
以及:
在这三种情况下,我试图生成的图像上都没有显示数字。就像我说的,如果没有数字格式,它就可以正常工作。xml文件的结构如下所示:
<xmldata>
<data>
<value>123456</value>
</data>
</xmldata>
123456
PHP不是黑盒,因此您可以(也应该)检查变量。您可以安装或。您还需要启用完全错误报告,因为您的代码应该触发您未看到的警告:
警告:number_format()要求参数1为双精度,给定对象
我将跳过几个步骤,分享一个精心编写的片段:
<?php
$xml = simplexml_load_string('<xmldata>
<data>
<value>123456</value>
</data>
</xmldata>');
$value = $xml->data->value;
var_dump($value, 2*$value, number_format($value), number_format(2*$value));
解释如下:
number\u format()
不强制转换为字符串,因为它需要一个数字PHP不是一个黑盒,因此您可以(也应该)检查您的变量。您可以安装或。您还需要启用完全错误报告,因为您的代码应该触发您未看到的警告: 警告:number_format()要求参数1为双精度,给定对象 我将跳过几个步骤,分享一个精心编写的片段:
<?php
$xml = simplexml_load_string('<xmldata>
<data>
<value>123456</value>
</data>
</xmldata>');
$value = $xml->data->value;
var_dump($value, 2*$value, number_format($value), number_format(2*$value));
解释如下:
number\u format()
不强制转换为字符串,因为它需要一个数字number\u format()总是返回一个值,在这种情况下为NULL(如果启用了错误日志记录,则会发出警告),请在调用number\u format()之前尝试将xml中的值强制转换为int或float(var\u dump$xml->data->value;以查看实际返回的内容;它应该是simplexmlelement对象)var_dump会导致500个错误。如果你得到500个错误,那么你输入了一些东西或创建了一个错误-我也这么认为,尽管我没有得到语法错误。我认为阿尔瓦罗的回答解决了这个问题。首先要仔细检查一切是否正常……number_format()总是返回一个值,在这种情况下,会返回一个NULL(如果启用了错误日志记录,则会发出警告),在调用number_format()之前,请尝试将xml中的值强制转换为int或float(var_dump$xml->data->value;查看实际返回的内容;它应该是一个simplexmlelement对象)var_dump会导致500个错误。如果你得到500个错误,那么你输入了一些东西或创建了一个错误-我也这么认为,虽然我没有语法错误。我认为Alvaro的回答解决了这个问题。只是先仔细检查一下所有的东西就行了…看起来修复工作正常。关于错误报告,通常这很容易解决大多数情况下都这样做,但是在这个特殊情况下,当您生成图像时,您会如何查看这些错误?您会输出到文件吗?我通常只需在浏览器中按Ctrl+U键即可查看源代码。看起来修复程序起到了作用。关于错误报告,通常情况下,对于大多数情况下,这很容易做到,但在这个特殊情况下,当您使用ge时生成图像时,如何查看这些错误?是否输出到文件?我通常只需在浏览器中按Ctrl+U键即可查看源代码。
<?php
$xml = simplexml_load_string('<xmldata>
<data>
<value>123456</value>
</data>
</xmldata>');
$value = $xml->data->value;
var_dump($value, 2*$value, number_format($value), number_format(2*$value));
object(SimpleXMLElement)#4 (1) {
[0]=>
string(6) "123456"
}
int(246912)
NULL
string(7) "246,912"
number_format((string)$value)