Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从导航器任务中的函数返回路由数组?_Php_Arrays_Function_Recursion_Return - Fatal编程技术网

Php 如何从导航器任务中的函数返回路由数组?

Php 如何从导航器任务中的函数返回路由数组?,php,arrays,function,recursion,return,Php,Arrays,Function,Recursion,Return,我不是专业的程序员,我自己也学习php。我在互联网上找到了Navigator任务模板(任务的作者写道,它可以通过递归和Dijkstra算法来解决,但不能使用静态变量)。我使用递归。该函数正确地考虑了所有问题,但没有返回所需的数组。我用自己编写的一段代码补充了我的问题。但是它缺少一个数组的正确输出。 我写的函数: 函数makeOneStep($path、$pathDone、$time、$point、$target) { foreach($path[$point]作为$subPoint=>$val

我不是专业的程序员,我自己也学习php。我在互联网上找到了Navigator任务模板(任务的作者写道,它可以通过递归和Dijkstra算法来解决,但不能使用静态变量)。我使用递归。该函数正确地考虑了所有问题,但没有返回所需的数组。我用自己编写的一段代码补充了我的问题。但是它缺少一个数组的正确输出。

我写的函数:

函数makeOneStep($path、$pathDone、$time、$point、$target)
{
foreach($path[$point]作为$subPoint=>$value){
如果($subPoint==$target){
$pathDone[]=$subPoint;
$result=array();
$result['path']=$pathDone;
$result['time']=$time+$path[$point][$subPoint]['time'];
返回$result;
}elseif(!in_数组($subPoint,$pathDone)){
$newPathDone=$pathDone;
$newPathDone[]=$subPoint;
$time+=$path[$point][$subPoint]['time'];
返回makeOneStep($path、$newPathDone、$time、$subPoint、$target);
}
}
}
$truePaths[]=makeOneStep($path,array($startPoint),0,$startPoint,$endPoint);
var_dump($truepath);
输出阵列示例:

$truePaths =>
[0] =>'path'=> {
    [0] => "pet"
    [1] => "chk"
    [2] => "spo"
    ...
    [n] => "nov"}
    'time'=> 43
[1] => 'path'=> {
    [0] => "pet"
    [1] => "gor"
    [2] => "vas"
    ...
    [n] => "nov"}
    'time'=> 28
[2] => 'path'=> {
    [0] => "pet"
    [1] => "gor"
    [2] => "gos"
    ...
    [n] => "nov"}
    'time'=> 105
...

嘿,火星!欢迎来到堆栈溢出。你需要更具体地回答你的问题。如果您希望人们帮助您解决问题,请询问有关特定代码段的特定问题。你现在的帖子似乎是你在请求互联网帮助你解决家庭作业问题。祝你好运。添加了有关该任务的更多信息。请帮帮我。除了互联网,我没有其他人可以求助。太棒了!这对了解你在寻找什么非常有帮助!如果我是一个PHP爱好者,我会提供更多帮助。祝你好运