Php 如何将其从数组()中删除?

Php 如何将其从数组()中删除?,php,mysql,arrays,pdo,Php,Mysql,Arrays,Pdo,如何从$this->v中删除“dato”?并且仍然将其保存在$sql字符串中 输出(变量转储($this->v)): array (size=4) ':kategori' => string 'Youstube' (length=8) ':link' => string 'http://urls' (length=11) ':navn' => string 'Rss feeds' (length=9) ':dato' => string 'NOW()' (

如何从$this->v中删除“dato”?并且仍然将其保存在$sql字符串中

输出(变量转储($this->v)):

array (size=4)
  ':kategori' => string 'Youstube' (length=8)
  ':link' => string 'http://urls' (length=11)
  ':navn' => string 'Rss feeds' (length=9)
  ':dato' => string 'NOW()' (length=5)
$classVars = get_class_vars(get_class($this));
            $sql .= "UPDATE {$this->table} SET ";
            foreach ($classVars as $key => $value) {
                if ($key == 'v' || $key == 'db' || $key == 'id' || $key == 'table' || $key ==
                    'table_id') {
                    continue;
                }
                $keys = "";
                $values = "";
                $keys .= $key;
                if ($this->$key == 'NOW()') {
                    $values .= $this->$key . ",";
                } else {
                    $values .= ":" . $key . ",";
                }
                $this->v[":" . $key] = $this->$key;
                $sql .= "{$keys} = " . $values . " ";

            }

            $sql = substr($sql, 0, -2) . " WHERE {$this->table_id} = '{$this->id}'";
输出(echo$sql)

更新rss_kategori SET kategori=:kategori,link=:link,navn=:navn,dato=NOW()

代码:

array (size=4)
  ':kategori' => string 'Youstube' (length=8)
  ':link' => string 'http://urls' (length=11)
  ':navn' => string 'Rss feeds' (length=9)
  ':dato' => string 'NOW()' (length=5)
$classVars = get_class_vars(get_class($this));
            $sql .= "UPDATE {$this->table} SET ";
            foreach ($classVars as $key => $value) {
                if ($key == 'v' || $key == 'db' || $key == 'id' || $key == 'table' || $key ==
                    'table_id') {
                    continue;
                }
                $keys = "";
                $values = "";
                $keys .= $key;
                if ($this->$key == 'NOW()') {
                    $values .= $this->$key . ",";
                } else {
                    $values .= ":" . $key . ",";
                }
                $this->v[":" . $key] = $this->$key;
                $sql .= "{$keys} = " . $values . " ";

            }

            $sql = substr($sql, 0, -2) . " WHERE {$this->table_id} = '{$this->id}'";
尝试使用
unset()
函数

unset($this->v['dato']);
尝试使用
unset()
函数

unset($this->v['dato']);
请试试这个:

$key = ':dato';
$arr = $this->v;
if (array_key_exists($key, $this->v) {
     unset($arr[$key]);
     $this->v = $arr;
}
请试试这个:

$key = ':dato';
$arr = $this->v;
if (array_key_exists($key, $this->v) {
     unset($arr[$key]);
     $this->v = $arr;
}

您可以使用
unset
。请参见此处,您可以使用
unset
。请看这里,我可以检查数组中是否存在NOW()值吗?Yes@nodde
if(在数组中('NOW()',$this->v)){echo“exists”}否则{//Blah Blah}
我可以检查数组中是否存在NOW()值吗?Yes@nodde
if(在_数组('NOW()',$this->v)中,{echo“存在”;}else{//Blah Blah}