📜  codeigniter 从 url 获取参数 - PHP (1)

📅  最后修改于: 2023-12-03 14:59:58.121000             🧑  作者: Mango

CodeIgniter 从 URL 获取参数 - PHP

在使用 CodeIgniter 框架开发网站时,您通常需要从 URL 中获取参数。这些参数可以传递给您的控制器方法,以便您在控制器中使用它们进行适当的操作。

在本文中,我将向您展示如何在 CodeIgniter 中从 URL 获取参数。

获取单个参数

通过使用 CodeIgniter 的内置 uri 类,您可以轻松地从 URL 中获取单个参数。下面是一个简单的示例:

public function my_controller_method()
{
    $id = $this->uri->segment(3);
    echo "Parameter value: " . $id;
}

在上面的示例中,我们使用了 uri 类的 segment() 方法。该方法返回 URL 中指定位置的片段。例如,如果我们访问以下 URL:

http://example.com/my_controller/my_controller_method/123

上面的代码将输出:

Parameter value: 123
获取多个参数

您可能需要从 URL 中获取多个参数。下面是一种从 URL 中获取多个参数的方法:

public function my_controller_method()
{
    $id1 = $this->uri->segment(3);
    $id2 = $this->uri->segment(4);

    echo "Parameter 1 value: " . $id1 . "<br />";
    echo "Parameter 2 value: " . $id2;
}

在上面的示例中,我们使用了两次 segment() 方法来获取两个 URL 片段。例如,如果我们访问以下 URL:

http://example.com/my_controller/my_controller_method/123/456

上面的代码将输出:

Parameter 1 value: 123
Parameter 2 value: 456
获取所有参数

您可能需要获取 URL 中的所有参数。下面是一种方法,可以使用 uri 类的 uri_to_assoc() 方法来获取 URL 中的所有参数。

public function my_controller_method()
{
    $params = $this->uri->uri_to_assoc(3);
    print_r($params);
}

在上面的示例中,我们使用 uri_to_assoc() 方法将 URL 片段转换为关联数组。例如,如果我们访问以下 URL:

http://example.com/my_controller/my_controller_method/id/123/name/john

上面的代码将输出以下内容:

Array
(
    [id] => 123
    [name] => john
)
结论

通过使用上面的示例,您可以轻松地从 CodeIgniter 中的 URL 中获取参数。这对于开发自定义控制器非常有用。