[+]文章目录

replace方法:有三种调用方式

1、一次性批量替换字段的数据:五个参数

replace($table, $column, $search, $replace, $where)

第一个需要传入的参数为字符串:String,即为要进行操作的数据表名

第二个需要传入的参数为字符串或数组:String/array(),即为要进行操作的字段名,单个字段为String,多个字段为array()

第三个需要传入的参数为字符串:String,即为准备要进行替换的内容

第四个需要传入的参数为字符串:String,即为要被批量替换为的内容

第五个需要传入的参数为数组:array(),即为where条件,可不写

例:

    $database->replace("account", "type", "user", "new_user", array(  
        "user_id[>]" => 1000  
    ));  

以上代码会将account表中user_id大于1000的所有type字段里user替换为new_user,等同于SQL语句:

    UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user') WHERE `user_id` > 1000  


2、多次批量替换字段的数据:四个参数

replace($table, $column, $replacement, $where)

第一个需要传入的参数为字符串:String,即为要进行操作的数据表名

第二个需要传入的参数为字符串或数组:String/array(),即为要进行操作的字段名,单个字段为String,多个字段为array()

第三个需要传入的参数为字符串:array(),即为准备要进行替换和要被批量替换为的内容,数组的键为:准备要进行替换的,值为:要被批量替换为的

第四个需要传入的参数为数组:array(),即为where条件,可不写

例:

    $database->replace("account", "type", array(  
        "user" => "new_user",  
        "business" => "new_business"  
    ), array(  
        "user_id[>]" => 1000  
    ));  

以上代码会针对字段的内容逐步进行多次替换,本例将account表中user_id大于1000的所有type字段里user替换为new_user,然后再将所有type字段里的business替换为new_business,等同于SQL语句:

    UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user'), type = REPLACE(`type`, 'business', 'new_business') WHERE `user_id` > 1000  


3、多次批量替换字段的数据:三个参数

replace($table, $column, $where)

这个方法可以说是第二种方法的简写,易读性更强,它将第二种方法中的,字段名、要进行替换和要被批量替换为的内容压缩到一个二维数组中

第一个需要传入的参数为字符串:String,即为要进行操作的数据表名

第二个需要传入的参数为字符串或数组:array(),即为字段名、要进行替换和要被批量替换为的内容,字段名为一维数组的键,一维数组字段名的键所对应的值,是要进行替换和要被批量替换为的内容组成的一个数组,而这个数组中,要进行替换的内容为键,要被批量替换为的内容为值,它们组成一个二维数组

第三个需要传入的参数为数组:array(),即为where条件,可不写

例:

    $database->replace("account", array(  
        "type" => array(  
            "user" => "new_user",  
            "business" => "new_business"  
        ),  
        "groups" => array(  
            "groupA" => "groupB"  
        )  
    ), array(  
        "user_id[>]" => 0  
    ));  

以上代码会针对字段的内容逐步进行多次替换,是第二种方法的一个简化写法,可提高阅读性,本例将account表中user_id大于0的所有type字段里user替换为new_user,然后将所有type字段里的business替换为new_business,再将所有groups字段里的groupA替换为groupB,等同于SQL语句:

    UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user'), type = REPLACE(`type`, 'business', 'new_business'), groups = REPLACE(`groups`, 'groupA', 'groupB') WHERE `user_id` > 0 


« 前一篇