Чем можно заменить данную функцию, чтобы работала на версии >7.4

Рейтинг: 0Ответов: 1Опубликовано: 20.05.2023

есть функция, которая проверяет является ли последний знак запятой

public function test(){
    $test = implode('',$this->columnNames);
    if($test{strlen(substr($test,0,-1))} == ','){
        $test = substr($test,0,-1);
    }
    
    return $test;
    }

phpstrom говорит, что 3 строка, где идет проверка на запятую, работает только на версии 7.4 или ниже. Как можно поменять, чтобы работало на более поздних версиях?

Ответы

▲ 0Принят
if($test{strlen(substr($test,0,-1))} == ','){

Array and string offset access syntax with curly braces is no longer supported Фигурные скобки при обращение к индексу заменить на квадратные скобки:

if ($test[strlen(substr($test,0,-1))] == ',') {

Если подумать о том происходит внутри, скорее всего, проще было бы обрезать все запятые "справа" с помощью rtrim:

public function test() {
    $test = implode('', $this->columnNames);
    $test = rtrim($test, ',');
    
    return $test;
}