floatval返回1 php错误

时间:2013-02-28 16:48:39

标签: php variables types floating-point

我有一个带浮点变量的mysql表。我想将它们传递给mongodb集合,但是当我这样做时,php将我的浮点变量转换为字符串。我试图使用此代码将变量类型设置为float,但它在每个字段中返回1:

foreach( $mytables as $table => $struct ) {
  $sql = mysql_query("SELECT num_auto FROM XL_10331_EXPLOIT_251012 where flightid like '191622'") or die( mysql_error() );
  $count = mysql_num_rows( $sql );
  // If it has content insert all content
  if( $count > 0 ) {
    while($info = mysql_fetch_row($sql)) {
        $int_info=intval($info);
          $mosql[]=($int_info);
  }

   // Starts new collection on mongodb
  $collection = $modb->floatdb;

  $collection->insert(array('num_auto'=>$mosql));

我找不到我的错误,任何帮助都会非常感激! 谢谢!

2 个答案:

答案 0 :(得分:2)

intval将仅返回数字的整数部分(或字符串中的数字)。尝试将值转换为像

这样的浮点数
$float_value = (float) $sql_number; 

答案 1 :(得分:2)

mysql_fetch_row返回一个数组,而不是值。所以你必须使用:

$int_info = (float)$info[0];