Can Array只包含一个键值对吗?

时间:2011-04-04 18:13:25

标签: php

我已经声明了一个方法,它将根据表格动态创建数据库查询字符串,我的代码是这样的。

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');

它仍然算是一个数组。如果一个数组只包含一个键值对,那好吗?

2 个答案:

答案 0 :(得分:1)

空数组也有效,即:

$someVar = array();

答案 1 :(得分:1)

绝对

测试:

<?php

$a = array('test'=> 'key');

var_dump($a);


array(1) {
  ["test"]=>
  string(3) "key"
}

如您所见,$ a是数组类型,长度为1。