foreach例程向数组添加变量时出现问题


Issue with foreach routine adding variable to array

当调用下面的函数并为$url传递参数"test/asdf"和为$element传递参数"variables"时,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将是网页域之后的所有内容,因此如果您输入字符串example.com/function/variable/variable2,它将根据输入到元素参数中的字符串返回"function"、包含"function",variablevariable2的数组或包含"variable"answers"variable"的数组。

期望的输出是variablevariable2的阵列。

您在作业中有一个拼写错误,在您的示例中,有一个双==:

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

您可能只想写一个

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