我已经声明了一个方法,它将根据表格动态创建数据库查询字符串,我的代码是这样的。
public function checkBeforeDelete($table = array(), $key , $value )
{
$tableCount = count($table);
$queryString = array();
for($i=0;$i<$tableCount;$i++)
{
$queryString[] = "(SELECT COUNT(*) FROM $table[$i] WHERE $key = $value)+";
}
/***********************************************************
Convert the array to a string using implode()
Remove all commas(,) using str_replace()
Remove the last character of string using substr_replace()
***********************************************************/
$queryString = substr_replace(str_replace(',','',implode(',',$queryString)),'',-2);
$queryString = 'SELECT ( '. $queryString . ' ) AS sum';
$sth = $this->dbh->prepare($queryString);
$sth->execute();
return $sth->fetchColumn() >= 1;
}
有可能$ table array()只有一个值,例如
$table = array('states');
它仍然算是一个数组。如果一个数组只包含一个键值对,那好吗?
答案 0 :(得分:1)
是
空数组也有效,即:
$someVar = array();
答案 1 :(得分:1)
绝对
测试:
<?php
$a = array('test'=> 'key');
var_dump($a);
array(1) {
["test"]=>
string(3) "key"
}
如您所见,$ a是数组类型,长度为1。