使用PHP更新多个字段(MySQL)

将要

我需要将数据库(电话号码)中的字段更新为新格式。我可以使用mysqli来做到这一点,但是看到它贬值了,我想知道是否有人对使用mysqli更新多个字段有任何建议?数字格式化程序的数字代码为:

function formatPhoneNumber($phoneNumber) {
    $phoneNumber = preg_replace('/[^0-9]/','',$phoneNumber);

    if(strlen($phoneNumber) > 10) {
        $countryCode = substr($phoneNumber, 0, strlen($phoneNumber)-10);
        $areaCode = substr($phoneNumber, -10, 3);
        $nextThree = substr($phoneNumber, -7, 3);
        $lastFour = substr($phoneNumber, -4, 4);

        $phoneNumber = '+'.$countryCode.' ('.$areaCode.') '.$nextThree.'-'.$lastFour;
    }
    else if(strlen($phoneNumber) == 10) {
        $areaCode = substr($phoneNumber, 0, 3);
        $nextThree = substr($phoneNumber, 3, 3);
        $lastFour = substr($phoneNumber, 6, 4);

        $phoneNumber = '('.$areaCode.') '.$nextThree.'-'.$lastFour;
    }
    else if(strlen($phoneNumber) == 7) {
        $nextThree = substr($phoneNumber, 0, 3);
        $lastFour = substr($phoneNumber, 3, 4);

        $phoneNumber = $nextThree.'-'.$lastFour;
    }

    return $phoneNumber;
}

而查询将是SELECT customers_id, customers_telephone FROM customers WHERE customers_telephone NOT IN (' '),将影响近20,000行,最有效的方法是什么?

for循环看起来像这样,但是它只是在做数组中的第一个客户:

foreach($customers as $row)
{
    $customer_id = $row['customers_id'];
    $numbers_array = $row['customers_telephone'];
    function formatPhoneNumber($phoneNumber) {
    $phoneNumber = preg_replace('/[^0-9]/','',$phoneNumber);

    if(strlen($phoneNumber) > 10) {
        $countryCode = substr($phoneNumber, 0, strlen($phoneNumber)-10);
        $areaCode = substr($phoneNumber, -10, 3);
        $nextThree = substr($phoneNumber, -7, 3);
        $lastFour = substr($phoneNumber, -4, 4);

        $phoneNumber = '+'.$countryCode.'-'.$areaCode.'- '.$nextThree.'-'.$lastFour;
    }
    else if(strlen($phoneNumber) == 10) {
        $areaCode = substr($phoneNumber, 0, 3);
        $nextThree = substr($phoneNumber, 3, 3);
        $lastFour = substr($phoneNumber, 6, 4);

        $phoneNumber = $areaCode.'- '.$nextThree.'-'.$lastFour;
    }
    else if(strlen($phoneNumber) == 7) {
        $nextThree = substr($phoneNumber, 0, 3);
        $lastFour = substr($phoneNumber, 3, 4);

        $phoneNumber = $nextThree.'-'.$lastFour;
    }

    return $phoneNumber;
}
    formatPhoneNumber($numbers_array);
    echo $numbers_array."  -  ".$customer_id;

}
斯科特·桑德斯(Scott Saunders)

将函数移出循环。

然后更改最后两行:

$formattedNumber = formatPhoneNumber($numbers_array);
echo $formattedNumber . "  -  " . $customer_id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP MYSQL更新多个字段,包括DATETIME字段

来自分类Dev

MYSQL:使用多个字段合并更新字段

来自分类Dev

如何使用数组更新MySQL表中的多个字段?

来自分类Dev

使用Linq和EF无法更新记录的多个字段

来自分类Dev

使用JQueryUI自动完成功能更新多个字段

来自分类Dev

使用Linq和EF无法更新记录的多个字段

来自分类Dev

更新对象的多个字段-Dynamics CRM 2011,使用Java

来自分类Dev

使用一个更新查询设置多个字段

来自分类Dev

如何使用 HQL 一次更新多个字段?

来自分类Dev

搜索多个字段MySQL

来自分类Dev

搜索多个字段MySQL

来自分类Dev

mysql中的多个字段

来自分类Dev

使用PHP从一个字符串进行多个MySQL更新

来自分类Dev

更新多个字段以获取多个记录

来自分类Dev

PHP搜索多个字段

来自分类Dev

如何使用ajax和mysql检查多个字段

来自分类Dev

使用PHP将多个HTML字段更新到MySQL数据库

来自分类Dev

跨多个字段的更新语句

来自分类Dev

在MongoDB中更新多个字段的值

来自分类Dev

猫鼬findOneAndUpdate更新多个字段

来自分类Dev

Delphi:更新SQLite记录的多个字段

来自分类Dev

MongoDB设置多个字段进行更新

来自分类Dev

跨多个字段的更新语句

来自分类Dev

更新嵌套对象的多个字段

来自分类Dev

如何使用php mysql基于下拉选择来更新另一个字段

来自分类Dev

使用PHP从MySQL选择并回显单个字段

来自分类Dev

在单个查询中更新MySQL数据库上的多个字段

来自分类Dev

mysql中基于两个表的JOIN更新多个字段

来自分类Dev

MySQL IF是否决定多个字段?