浮点数组在php中使用

时间:2014-11-03 20:09:40

标签: php arrays

为了绘制我的图表,我需要有2个浮点阵列,

  1. 第一个在MySQL数据库中存储为一种字符串(以逗号分隔)
  2. 我想将第二个定义为常量数组(在PHP中)
  3. 我的问题是如何将数据类型更改为字符串(MySQL)并将其用作PHP中的float数组。 另外,我应该如何定义第二个数组?我应该将其更改为字符串,然后使用反序列化吗?

    这只是打印1

    $data = array();
    $data['cols'] = array(
        array('id' => 'Signal','label' => 'Signal', 'type' => 'string'));
    
    $rows = array();
    while($r = mysql_fetch_assoc($result)) {
      $temp = array();
      $temp[] = array('v' => $r['Signal']); 
      $res = array_map("floatval", $temp);
    
      var_dump($res);}                                 
    
    echo var_dump($res);
    

1 个答案:

答案 0 :(得分:0)

您可以使用floatval()array_map()的组合将字符串数组解析为float数组。

一个简单的测试示例:

$input_array = Array("1.1234", "3.123", "2.23E3", "2.23E-3");

$result = array_map("floatval", $input_array);

var_dump($input_array);
var_dump($result);

打印:

array(4) {
  [0]=> string(6) "1.1234"
  [1]=> string(5) "3.123"
  [2]=> string(6) "2.23E3"
  [3]=> string(7) "2.23E-3"
}
array(4) {
  [0]=> float(1.1234)
  [1]=> float(3.123)
  [2]=> float(2230)
  [3]=> float(0.00223)
}

P.S。:如果你的数据库结果比一个浮点值字符串的平面数组更结构化,你可能需要做的不仅仅是映射它。提供更多信息,了解您拥有的内容以及您希望获得的更多详细帮助。


至于你的第二个数组,我担心你不能将数组标记为常数。 Here是一个相关问题。你可以上课和autosetters,但我不确定这种复杂性是否适合你的要求。