0

当调用下面的函数并传递参数 "test/asdf" for$url和 "variables" for$element时,foreach例程不会将变量添加$var$variables数组中。但是,该例程正确地打印出该$var值。

public function ParseURL($url, $element)
    {
        $splitURL = preg_split("/(\\/)/is", $url);
        if ($element == "page_id"){return $splitURL[0];}
        elseif ($element == "all"){return $splitURL;}
        elseif ($element == "variables"){
            $i = 1;
            $variables = array(0 => "test");
            foreach ($splitURL as $var) {
                if ($var != $splitURL[0]){
                    $variables[$i] == $var;
                    echo $var;
                    echo $variables[$i];
                    $i++;
                }
            }
            var_dump($variables);
            return $variables;
        }
    }

编辑

输入 URL 将是网页域之后的所有内容,因此如果您输入 string example.com/function/variable/variable2,它将返回“function”、包含“function”variablevariable2数组或包含“variable”和“variable”的数组输入到元素参数中的字符串。

variable预期的输出是一个和的数组variable2

4

2 回答 2

1

您在作业中有错字,在您的示例中,有一个 double ==

$variables[$i] == $var;
               ^^

你可能只想写一个

于 2013-07-06T14:39:57.827 回答
0

更改$variables[$i] == $var;$variables[$i] = $var;

于 2013-07-06T14:45:30.387 回答