strlen($query)-2; 的目的是什么?

What is the purpose of 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);
}
?>

该行从 $query 中删除了最后一个逗号和 space。这些字符已添加到 foreach 循环中以将 $parameter_order.

的元素粘合在一起

请注意,使用 implode() 函数通常可以更好地完成此标准任务:

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

这正是这些函数的作用:

substr() is used to generate a sub-string of specified length from another string.

strlen() will return the length of the provided string.

代码 substr($query,0,strlen($query)-2)foreach 循环中删除 逗号space