在我的PHP脚本中有这个部分->input(1, 0, 1)->output(0);
,你可以看到它需要单独的数字作为输入。我想以某种方式更改它,以便从发布的变量$data = $_POST['data'];
获取输入。
但是,这是一个数组,我不知道如何将其转换为单独的数字。我已经尝试过这个了,但那不起作用:
$data = $_POST['part1'];
$comma_separated = implode(", ", $data);
$comma_separated = str_replace("'", "", $comma_separated);
try
{
$objNetwork = Network::loadFromFile('xor.dat');
}
catch(Exception $e)
{
print 'Creating a new one...';
$objNetwork = new Network;
$objValues = new Values;
$objValues->train()
->input($comma_separated)->output(0);
$objValues->saveToFile('values_xor.dat');
unset($objValues);
}
我认为这是因为它仍然是一个字符串。
答案 0 :(得分:1)
看看http://php.net/manual/en/function.call-user-func-array.php。它允许你调用一个函数,传递数组,好像每个项都是一个单独的参数。
// Create an array from your POST variable.
$comma_separated = explode(",", $_POST['val']);
call_user_func_array("function_name", $comma_separated);
// Same as calling function_name($comma_separated[0], $comma_separated[1] ...);
在您的情况下,当您获得一系列值时,您可以执行此操作(其中$vals
是您的值数组):
$objValues->train();
call_user_func_array(array($objValues, 'input'), $vals);
$objValues->output(0);
或者,您可能希望重新编写输入函数以获取单个参数,并使用explode()