介绍
本篇文章为大家展示了怎么在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 有效的