📅  最后修改于: 2023-12-03 14:59:58.121000             🧑  作者: Mango
在使用 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 中获取参数。这对于开发自定义控制器非常有用。