怎么在PHP中使用Luhn算法对信用卡卡号进行验证

  介绍

本篇文章为大家展示了怎么在PHP中使用Luhn算法对信用卡卡号进行验证,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

具体实现方法如下:

numbers 美元;=,“49927398716,49927398717,1234567812345678,1234567812345670,;   foreach (分裂(& # 39;,& # 39;,,美元数字),as  $ n)   echo 才能“n 美元;is “, luhnTest ($ n), ?, & # 39;有效# 39;,:,& # 39;not 有效# 39;,,& # 39;& lt;/br> & # 39;;   ,   function  luhnTest (num美元),{   时间=美元才能len  strlen ($ num);   for 才能;($小姐:=,len-1;美元,美元小姐:祝辞=,0;,我——美元),{   ,,,ord 美元;=,奥德(num [$ i]美元);   ,,,if  ((len 美元;作用;1),,,我美元),{   ,,,,,sum 美元;+=,奥德美元;   ,,,},{else    ,,,,,sum 美元;+=,ord 美元/,5,+,(2,*,奥德美元),%,10;   ,,,}   ,,},,,   return 才能;sum 美元;%,10,==,0;   }

运行结果

49927398716, is 有效   49927398717,is  not 有效   1234567812345678,is  not 有效   1234567812345670,is 有效的

下面是一个更为简洁的代码:

代码如下:

函数luhn_test (num美元){
,,,$ str=& # 39; & # 39;;
,,,foreach (array_reverse(函数(num)美元)i=美元比;c) str。=美元($ % 2吗?$ c * 2: $ c);
,,,返回函数(函数(str)美元)% 10==0;
}
foreach(数组(& # 39;49927398716 & # 39;& # 39;49927398717 & # 39;,& # 39;1234567812345678 & # 39;,& # 39;1234567812345670 & # 39;)$ n)
回声“n是“美元,luhn_test ($ n) ?& # 39;有效# 39;:& # 39;不是有效# 39;“& lt;/br> \ n";

输出结果如下

49927398716, is 有效   49927398717,is  not 有效   1234567812345678,is  not 有效   1234567812345670,is 有效的

怎么在PHP中使用Luhn算法对信用卡卡号进行验证