使用lpsolve的php数组错误

使用lpsolve的php数组错误,php,lpsolve,Php,Lpsolve,我创建了一个基本的LP模型,手动将目标函数输入到数组中,模型运行良好: $ret = lpsolve('set_obj_fn', $lp, array(1, 3, 7, 2)); 我将数组移出,并在lp_solve函数中用一个变量引用它,但一切都很好: $objectiveFunction = array(1, 3, 7, 2); $ret = lpsolve('set_obj_fn', $lp, $objectiveFunction); 现在,我想通过从MySQL数

我创建了一个基本的LP模型,手动将目标函数输入到数组中,模型运行良好:

    $ret = lpsolve('set_obj_fn', $lp, array(1, 3, 7, 2));
我将数组移出,并在lp_solve函数中用一个变量引用它,但一切都很好:

    $objectiveFunction = array(1, 3, 7, 2);
    $ret = lpsolve('set_obj_fn', $lp, $objectiveFunction);
现在,我想通过从MySQL数据库中提取目标函数的值来扩展模型。我在数据库中查询结果,并使用循环将这些值推送到数组中

    $newObjective = array();
    for($i=0; $i&l t;count($sqlResults); $i++) {
         array_push($newObjective, $sqlResults[$i][0]);
    }
    $ret = lpsolve('set_obj_fn', $lp, $newObjective);

这将创建一个与我的原始($objectiveFunction)完全匹配的n数组。但是,当我使用从循环创建的数组运行LP模型时,LP_solve在我输入数组的同一行上返回一个“无效向量”错误。我不明白为什么一个数组可以工作而另一个不行。

看起来lpsolve需要一个浮点数数组

更改:

array_push($newObjective, $sqlResults[$i][0]);
致:


似乎解决了这个问题

您应该改进您的问题:写下错误的输出和模型错误是“PHP致命错误:lpsolve():无效向量”
array_push($newObjective, (float) $sqlResults[$i][0]);