谁可相欹 发表于 2015-2-4 00:05:12

PHP教程之信誉卡效验法式

理解动态语言的概念,运做机制,熟悉PHP语法   <?php

////////////////////////////////////////////////////
//                                                //   
// Credit card validation routine               //
// May 15, 2000                                 //
// By ariso                                       //
// validateCardCode($number[,$cardtype])          //
////////////////////////////////////////////////////


function validateCardCode($cardnumber, $cardtype ='unknown')
{
   //Clean up input

    $cardtype = strtolower($cardtype);
    $cardnumber = ereg_replace( '[-[:space:]]','',$cardnumber);   

   //Do type specific checks

    if ($cardtype =='unknown') {
         //Skip type specific checks
    }
    elseif ($cardtype =='mastercard'){
      if (strlen($cardnumber) != 16 || !ereg( '5', $cardnumber)) return 0;
    }
    elseif ($cardtype =='visa'){
      if ((strlen($cardnumber) != 13 && strlen($cardnumber) != 16) || substr($cardnumber, 0, 1) !='4')

return 0;
    }
    elseif ($cardtype =='amex'){
      if (strlen($cardnumber) != 15 || !ereg( '3', $cardnumber)) return a;
    }
    elseif ($cardtype =='discover'){
      if (strlen($cardnumber) != 16 || substr($cardnumber, 0, 4) !='6011') return 0;
    }
    else {
         //invalid type entered
      return -1;
    }


   // Start MOD 10 checks

    $dig = toCharArray($cardnumber);
    $numdig = sizeof ($dig);
    $intIntJ = 0;
    for ($intI=($numdig-2); $intI>=0; $intI-=2){
      $dbl[$intIntJ] = $dig[$intI] * 2;
      $intIntJ++;
    }      
    $dblsz = sizeof($dbl);
    $validate =0;
    for ($intI=0;$intI<$dblsz;$intI++){
      $add = toCharArray($dbl[$intI]);
      for ($intIntJ=0;$intIntJ<sizeof($add);$intIntJ++){
            $validate += $add[$intIntJ];
      }
    $add ='';
    }
    for ($intI=($numdig-1); $intI>=0; $intI-=2){
      $validate += $dig[$intI];   
    }
    if (substr($validate, -1, 1) =='0') return 1;
    else return 0;
}


// takes a string and returns an array of characters

function toCharArray($intInput){
    $len = strlen($intInput);
    for ($intIntJ=0;$intIntJ<$len;$intIntJ++){
      $char[$intIntJ] = substr($intInput, $intIntJ, 1);      
    }
    return ($char);
}

?>基础这个东西是个比较笼统的概念,如果你之前学习过c语言, c语言被认为是

再见西城 发表于 2015-2-4 08:45:03

爱上php,他也会爱上你。

愤怒的大鸟 发表于 2015-2-5 00:12:09

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

金色的骷髅 发表于 2015-2-10 23:15:01

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

谁可相欹 发表于 2015-2-19 08:57:03

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

莫相离 发表于 2015-2-21 17:42:10

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

简单生活 发表于 2015-2-28 04:37:21

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

精灵巫婆 发表于 2015-3-7 23:58:12

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

分手快乐 发表于 2015-3-15 16:59:13

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

乐观 发表于 2015-3-18 10:45:26

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

仓酷云 发表于 2015-3-18 20:53:15

基础有没有对学习php没有太大区别,关键是兴趣。

第二个灵魂 发表于 2015-3-26 14:13:43

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

海妖 发表于 2015-3-29 11:35:25

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

山那边是海 发表于 2015-3-30 12:15:06

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

飘飘悠悠 发表于 2015-4-11 05:10:25

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

再现理想 发表于 2015-4-16 15:05:10

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

老尸 发表于 2015-4-26 16:45:32

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

兰色精灵 发表于 2015-4-29 17:32:32

兴趣是最好的老师,百度是最好的词典。

透明 发表于 2015-6-8 17:22:00

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

活着的死人 发表于 2015-7-1 21:19:22

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
页: [1]
查看完整版本: PHP教程之信誉卡效验法式