我今天想问你,如果你帮我改进我的代码我试图获得url的id,它总是在/ id /之后最终为了这个例子我需要“9050102”没有引号。< / p>
网址可以有不同的方式:
.site.com/Descreption-Text-Etc/id/9050102
site.com/Descreption-Text-Etc/id/9050102
site.com/bi/product/9050102
.site.com/bi/product/9050102
我的代码:
$foo = explode('/', $url); //Extracing ID
$id = strtoupper($foo[3]); //ID
我注意到在某些情况下它不能确定原因 所以在那之后我添加了:
if (!$id) {
$id = strtoupper($foo[2]); //Making Sure ID Found
}
你可以帮助我改进吗,以便始终100%准确地找到它吗?
答案 0 :(得分:0)
如果您确定ID始终位于最后一个位置,则可以使用end
函数获取数组的最后一个元素:
$id = end($foo);
if ($id && isset($id[9])) {
// this means that the ID exists and has at least 10 characters
}
答案 1 :(得分:0)
您可以使用end函数来获取数组中的最后一个元素。它将数组指针设置为最后一个元素并返回其值。
$foo = explode('/', $url); //Extracing ID
$id = strtoupper(end($foo)); //ID
if(isset($id) && strlen($id)==10) {
//code
}
答案 2 :(得分:0)
$foo = explode('/', $url);
//count the $foo array
$count = count($foo);
//the last index will be minus 1
$id = $foo[$count-1];
答案 3 :(得分:0)
试试这个
<?php
$url = "site.com/Descreption-Text-Etc/id/9050102";
echo substr($url, strrpos($url, "/") + 1);