Я получил этот код от 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);
}
?>
Вот что именно делают эти функции:
substr()
используется для генерации подстроки указанной длины из другой строки.
strlen()
вернет длину предоставленной строки.
Код substr($query,0,strlen($query)-2)
удаляет запятая а также пространство от foreach
Loop.
Строка удаляет последнюю запятую и пробел из $query
, Эти символы были добавлены в foreach
цикл, чтобы склеить элементы $parameter_order
,
Обратите внимание, что эта стандартная задача обычно выполняется лучше с implode()
функция:
$query = "insert into $tablename (" . implode (', ', $parameter_order) . ' ) values (';