题 代码点火器 - 获取上一个URI段


我想要在CI中获取最后一个URI段,但是我不知道它的数量是多少,因为当用户点击页面中的链接时将附加参数(整数)。然后在控制器中使用它们通过ajax将相关的数据库记录拉入页面。

如何告诉CI获取最后一段?

就像是:

$record_num = $this->uri->segment($last);

谢谢!


12
2017-09-30 10:41


起源


感谢回复,两个答案都很好。我已经离开了Anpher,因为它更简洁。 - Robimp


答案:


$record_num = end($this->uri->segment_array());

31
2017-09-30 11:16



您好!我使用了这段代码,但是当找不到段时,它会抛出错误,请帮忙。我写的条件是空的但没有工作。 - Renish Khunt
总是声明你的参数 public function name($parameter = " ") - John Christian De Chavez
Only variables should be passed by reference。请使用Mischa答案。 - Binar Web


这应该工作:

$last = $this->uri->total_segments();
$record_num = $this->uri->segment($last);

23
2017-09-30 11:08



+1我更喜欢这种方法,因为它使用了codeigniter的功能。这似乎是正确的做法。 - Matthew
我同意,就像这个更好。你也可以保存一行:$ record_num = $ this-> uri-> segment($ this-> uri-> total_segments()); - Mitchell McKenna