Я получаю эту ошибку в строке 14, этот код я использую, чтобы получить часть URL-адреса (пример: enterforce.nnnet/server2/server3/для примера server2). Это работает, но я получил эту ошибку:PHP Примечание: Неинициализированное смещение строки: -1
PHP Notice: Uninitialized string offset: -1
Полный код:
<?php
class simpleUrl{
var $site_path;
function __construct($site_path){
$this->site_path = $this->removeSlash($site_path);
}
function __toString(){
return $this->site_path;
}
private function removeSlash($string){
if($string[strlen($string) - 1] == '/')
$string = '/';
return $string;
}
function segment($segment){
$url = str_replace($this->site_path, '', $_SERVER['REQUEST_URI']);
$url = explode('/', $url);
if(isset($url[$segment]))
return $url[$segment];
else
return false;
}
}
?>
И линия 14:
if($string[strlen($string) - 1] == '/')
Это потому, что вы передаете пустую строку методу 'removeSlash()'. Поскольку 'strlen ($ string)' равно '0', вы получите' if ($ string [- 1] == '/') ', и именно поэтому вы получаете эту ошибку. Сначала проверьте длину строки, а затем выполните операцию. –