Какова цель strlen ($ query) -2;

Я получил этот код от Google, и он отвечает моим требованиям, но я не понимаю смысл этой строки:

substr($query,0,strlen($query)-2)

Может ли кто-нибудь объяснить мне это?

<?php
function insert($tablename, $parameter_order, $values)
{
$query = "insert into $tablename (";
foreach($parameter_order as $po)
{
$query .= $po.', ';
}
$query = substr($query,0,strlen($query)-2).') values (';
foreach($values as $v)
{
$query .= "'$v', ";
}
$query = substr($query,0,strlen($query)-2).');';
return $this->makeQuery($query);
}
?>

-5

Решение

Вот что именно делают эти функции:

substr() используется для генерации подстроки указанной длины из другой строки.

strlen() вернет длину предоставленной строки.

Код substr($query,0,strlen($query)-2) удаляет запятая а также пространство от foreach Loop.

1

Другие решения

Строка удаляет последнюю запятую и пробел из $query, Эти символы были добавлены в foreach цикл, чтобы склеить элементы $parameter_order,

Обратите внимание, что эта стандартная задача обычно выполняется лучше с implode() функция:

$query = "insert into $tablename (" . implode (', ', $parameter_order) . ' ) values (';
1

По вопросам рекламы [email protected]