PHP 问答 03

// 请写出 javascript 通过 AJAX 不刷新页面提交FORM的方法 (可用任何成熟的JS框架)
     JQ
      $.ajax({
         type      : "GET",
         cache     : false,
         async     : false,
         url       : "http://www.google.com/index.php?",
         dataType  : "JSON",
         data      : "id =1",
         beforeSend : function () {
            // code ...

         },
         success   : function(i){
            // code ...
         }
    });

// 请写一个函数 验证电子邮件的格式是6否正确
     $partten = '/^[a-zA-Z0-9_+.-]+\@([a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,4}$/';
     $match = preg_match($partten, $content);

// include 和 include_once, include 和 require 之间的区别
     多次 一次
     警告 致命性错误 
     
// 请用多冲方法实现 name@domain.com 这样的电子邮件地址的前缀和域名提取出来(3种方法以上)
     $email = 'name@domain.com';

    // 属组分割
    function email_domain1($email)
    {
        list($email_prefix, $domain) = explode('@', $email);
        return array(
            'email_prefix' => $email_prefix,
            'domain'       => $domain,
        );
    }

    // 字符串查找
    function email_domain2($email)
    {
        $key = strpos($email, '@');
        $email_prefix2 = substr($email, 0, $key);
        $domain2 = substr($email, $key+1);
        return array(
            'email_prefix' => $email_prefix2,
            'domain'       => $domain2,
        );
    }

    // 判断
    function email_domain3()
    {
        $email_prefix3 = $domain3 = $key = '';
        for ($i=0; $i <strlen($email) ; $i++) {
            if ($email{$i} == '@') $key = 1;
            if ($key == 1) {
                $domain3 .= $email{$i};
            } else {
                $email_prefix3 .= $email{$i};
            }
        }
        return array(
            'email_prefix' => $email_prefix3,
            'domain'       => $domain3,
        );
    }
// 请描述 private, protected, public 的区别
     private    私有
     protected  私有 子类
     public     公共

// 表 T(Sid, Sco, Score)表示学生学号, 课程名称, 分数 , 请写 SQL 查询每门课程的平均分 并降序排序, 如果平均分相等按学号升序排序
     // 这道题存在问题题意不明确 1、课程平均分 2、每个学生课程平均分 按照后面分析 应该是第二种
     // columns
     
     // datas
     
     // 1
    
    // 2
    
     
// 写一个函数 来对二维数组排序
    // 题意不明 就先速排吧
    function array_sort($array)
    {
        $count = count($array);
        if ($count <= 1)  return $array;
        $key = $array[0];
        $left_arr = $right_arr = array();
        for ($i=1; $i < $count; $i++) {
            if ($array[$i] <= $key) {
                $left_arr[] = $array[$i];
            } else {
                $right_arr[] = $array[$i];
            }
        }
        $left_arr[] = array_sort($left_arr);
        $right_arr[] = array_sort($right_arr);
        return array_merge($left_arr, array($key), $right_arr);
    }
// 使用对象可以像属组一样进行 foreach 循环, 要求属性必须私有。 (Iterator 模式的 PHP5 实现写一类实现 Iterator 接口)
    class myIterator implements Iterator {
        private $position = 0;
        private $array = array(
            "firstelement",
            "secondelement",
            "lastelement",
        );

        public function __construct() {
            $this->position = 0;
        }

        function rewind() {
            var_dump(__METHOD__);
            $this->position = 0;
        }

        function current() {
            var_dump(__METHOD__);
            return $this->array[$this->position];
        }

        function key() {
            var_dump(__METHOD__);
            return $this->position;
        }

        function next() {
            var_dump(__METHOD__);
            ++$this->position;
        }

        function valid() {
            var_dump(__METHOD__);
            return isset($this->array[$this->position]);
        }
    }

    $it = new myIterator;

    foreach($it as $key => $value) {
        var_dump($key, $value);
        echo "/n";
    }

// MySQL 数据库, 一天 一万 条以上的增量, 怎么来优化
     1、按照需求分关系表
     2、分表
     3、索引

// 什么是 MVC, 为什么要用 MVC, 你在做过的项目里面 怎么用 MVC?
     。M 模型 V 视图 C 控制器
     。动静分割 提高开发效率, 代码可读性高
     。模型 封装数据库操作等业务逻辑, 提供公共API,视图处理模板, C 入口 业务逻辑
// 使用过 Memcache 缓存吗? 如果使用过 能够简述一下他的工作原理吗
     。我个人理解, 使用mencache 就像属组一样 有个key 存 就是 指定key存入指定值 读就是读key值

  

posted @ 2013-05-27 20:30  yiya1995  阅读(124)  评论(0)    收藏  举报