• 一些变量说明:
    add_time为插入的时间
    to_days是sql函数,返回的是个天数
    data_sub(date,INTERVAL expr type)给指定的日期减去多少天
    data()函数返回日期或日期/时间表达式的日期部分。
    curdate()函数返回当前的日期 y-m-d
    data_format 用于以不同的格式显示日期/时间数据
    period_diff(p1,p2)返回周期P1和P2之间的月数。 P1和P2格式为YYMM或YYYYMM。注意周期参数 P1 和 P2 都不是日期值
    1、查询今天的所有记录:
        (1)add_time字段,该字段为int(5)类型的
            select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now());
        (2)add_time字段是DATETIME类型或者TIMESTAMP类型的
            select * from `article` where to_days(`add_time`) = to_days(now());
    2、查询昨天的所有记录
        select * from `article` where to_days(now()) <= 1 + to_days(`add_time`);
    3、近7天的信息记录:
        select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);
    4、近30天的信息记录:
        select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);
    5、查询本月的记录
        select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');
    6、上一个月的记录
        select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;
  • mysqldiff --server1=root:@localhost:3306:socket --server2=root:@localhost:3306:socket db1:db2
  •  

    JavaScript函数的中实参个数和形参个数的获取

    JavaScript函数调用时,可以判断实参的个数是否和形参的个数相等,进而执行一些动作。其中:

    1、形参个数: arguments.callee.length 或者 函数名.length ,arguments.callee就是取得函数的名字。

    2、实参个数: arguments.length


    function fun(a,b,c,d){  
        if( arguments.callee.length == arguments.length){  
      //do something  
    }else{  
    //do another something  
        }  
      
    }  
  •  

    JavaScript函数的中实参个数和形参个数的获取

    JavaScript函数调用时,可以判断实参的个数是否和形参的个数相等,进而执行一些动作。其中:

    1、形参个数: arguments.callee.length 或者 函数名.length ,arguments.callee就是取得函数的名字。

    2、实参个数: arguments.length


    function fun(a,b,c,d){  
        if( arguments.callee.length == arguments.length){  
      //do something  
    }else{  
    //do another something  
        }  
      
    }  
  •  

    JavaScript函数的中实参个数和形参个数的获取

    JavaScript函数调用时,可以判断实参的个数是否和形参的个数相等,进而执行一些动作。其中:

    1、形参个数: arguments.callee.length 或者 函数名.length ,arguments.callee就是取得函数的名字。

    2、实参个数: arguments.length


    function fun(a,b,c,d){  
        if( arguments.callee.length == arguments.length){  
      //do something  
    }else{  
    //do another something  
        }  
      
    }  
  • powershell 安装离线帮助

    update-help
  • php 自带货币格式化为中文

    $chinese = new \NumberFormatter('zh-CN', \NumberFormatter::SPELLOUT);
    
    $number = '1234.56';
    
    $formatter = $chinese->format($number);
    
    dump($formatter);
    
    $number = 1234567890;
    
    $formatter = new \NumberFormatter('zh-HK', \NumberFormatter::SPELLOUT);
    
    // $formatter->setTextAttribute(\NumberFormatter::DEFAULT_RULESET, "%financial");
    
    echo $formatter->format($number);
    
  • oninput="this.value=this.value.replace(/\D/g,'')"  
    输入框只能输入数字

  • 最近在看Klaus Forster和Bernd Oggl著的《HTML5 Guidelines for Web Developers》,发现书中对于input元素的placeholder属性描述有疑问。书中在范例中写到

    <input type=date name=birthday id=birthday placeholder="1978-11-24" >

    但是我在实际测试的时候发现placeholder属性在类型为date的input元素中不会起作用!换了多个支持HTML5的浏览器反复测试的结果都相同。于是乎,我到HTML5的娘家WHATWG上找了一下,果然是有相关内容,传送门http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary。访问之后发现placeholder属性对于date类型的input元素而言确实是无效的。

    那如果想在date输入框中实现类似于placeholder的效果咋办呢?可以用下面的js来模仿:

    <script>
        var textbox = document.getElementById('birthday')
            textbox.onfocus = function (event) {
                this.type = 'date';
                this.focus();
        }
    </script>

    对应的input直接写成下面这样就OK了。

    <input type="text" placeholder="出生日期" id="birthday" />
  • 判断是否被iframe引用

    <script>  
    if(top.location != location){  
        top.location.href= location.href;  
    }  
    </script> 
    
  • Image


    DB::listen(function($sql, $bindings, $time)
            {
                $pdo = DB::connection()->getPdo();
                $type = '?';
                foreach ($bindings as $index => $param) {
                    if(is_string($index)){
                        $type = ':';
                        $finds[] = ":{$index}";
                    }
                    if ($param instanceof DateTime) {
                        $bindings[$index] = $param->format('Y-m-d H:i:s');
                    }
                }
                if('?' == $type){
                    $sql = str_replace("?", "'%s'", $sql);
                }else{
                    $sql = str_replace($finds, "'%s'", $sql);
                }
                array_unshift($bindings, $sql);
                slog(call_user_func_array('sprintf', $bindings), $pdo);
                //slog($sql, $pdo);
            });
    

    laravel 中对sql的调试, 参考http://laravel.so/tricks/6086494cbfde9950e9118b1dad6270d5 这篇文章发现支持有局限,自己修复了下。

  • <DIV>最近在看面试题的时候遇到的一个题目,但自己对正则表达式应用的不是特别号,弄了半天才写出来!将代码写出来和大家分享,期待大家的点评与指正。</DIV>

    <DIV><STRONG><FONT color=#008000>JS 代码:</FONT></STRONG></DIV>

    <DIV>var tel = "13410883344";<BR>var reg = /(\d{3})\d{4}(\d{4})/;<BR>document.write("用星号替换后的手机号码为:"+tel.replace(reg,"$1****$2"));</DIV>

  • SQLITE_MAX_VARIABLE_NUMBER  sqlite 最多一次性插入999 个变量,所以addAll 要手动分组 分开插入

  • 今天又有人需要了

    Synergy 这个软件可以在多个系统之间共享键盘和鼠标,一直移动就可以在多个桌面上切换。开着多个电脑系统的时候好像用得上呢…… 

    Screen Shot 2015-06-23 at 9.58.18 AM.png

    还是免费(要自己编译才是免费的了)+开源的。http://synergy-project.org/ 

    PS:下载地址 https://synergy-project.org/nightly 包含stable的版本。

  • phpunit 里 配置一些环境变量之类的 

    设定 PHP INI 设置、常量、全局变量

    <php> 元素及其子元素用于配置 PHP 设置、常量以及全局变量。同时也可用于向 include_path 前部置入内容。

    <php>
      <includePath>.</includePath>
      <ini name="foo" value="bar"/>
      <const name="foo" value="bar"/>
      <var name="foo" value="bar"/>
      <env name="foo" value="bar"/>
      <post name="foo" value="bar"/>
      <get name="foo" value="bar"/>
      <cookie name="foo" value="bar"/>
      <server name="foo" value="bar"/>
      <files name="foo" value="bar"/>
      <request name="foo" value="bar"/>
    </php>
  • js 版nl2br 方便处理 序列化后的长文本字段

    function nl2br(str, is_xhtml) {
      //  discuss at: http://phpjs.org/functions/nl2br/
      // original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
      // improved by: Philip Peterson
      // improved by: Onno Marsman
      // improved by: Atli Þór
      // improved by: Brett Zamir (http://brett-zamir.me)
      // improved by: Maximusya
      // bugfixed by: Onno Marsman
      // bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
      //    input by: Brett Zamir (http://brett-zamir.me)
      //   example 1: nl2br('Kevin\nvan\nZonneveld');
      //   returns 1: 'Kevin<br />\nvan<br />\nZonneveld'
      //   example 2: nl2br("\nOne\nTwo\n\nThree\n", false);
      //   returns 2: '<br>\nOne<br>\nTwo<br>\n<br>\nThree<br>\n'
      //   example 3: nl2br("\nOne\nTwo\n\nThree\n", true);
      //   returns 3: '<br />\nOne<br />\nTwo<br />\n<br />\nThree<br />\n'
    
      var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br ' + '/>' : '<br>'; // Adjust comment to avoid issue on phpjs.org display
    
      return (str + '')
        .replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
    }
    
  • 我要试试 光棍 和我的mac 不用键盘来回切了

    Synergy 这个软件可以在多个系统之间共享键盘和鼠标,一直移动就可以在多个桌面上切换。开着多个电脑系统的时候好像用得上呢…… 

    Screen Shot 2015-06-23 at 9.58.18 AM.png

    还是免费(要自己编译才是免费的了)+开源的。http://synergy-project.org/ 

    PS:下载地址 https://synergy-project.org/nightly 包含stable的版本。

  • [MAC]用beamoff给VMware的Mac OS X 10.10.x加速

    MAC OS X 10.10.x Yosemite在VMWare中实在是太慢了,卡出翔!好在高人多,请装beamoff!详见:https://github.com/JasF/beamoff.git

    CSDN下载:http://download.csdn.net/download/bytige/8371825

     本站下载:http://files.cnblogs.com/files/yipu/beamoff.zip

    可以设置为开机自动运行的喔!

  • 自动识别文本中的链接

    function text2links($str='') {
    if(!preg_match('/(http|www\.|@)/i', $str)) { return $str; }
    $lines = explode("<br />", $str); $new_text = '';
    while (list($k,$l) = each($lines)) { 
    // replace links:
    	$l = preg_replace("/([ \t]|^)www\./i", "\\1http://www.", $l);
    
    	$l = preg_replace("/([ \t]|^)ftp\./i", "\\1ftp://ftp.", $l);
    
    	$l = preg_replace("/(http:\/\/[^ )!]+)/i", "<a href=\"\\1\">\\1", $l);
    
    	$l = preg_replace("/(https:\/\/[^ )!]+)/i", "<a href=\"\\1\">\\1", $l);
    
    	$l = preg_replace("/(ftp:\/\/[^ )!]+)/i", "<a href=\"\\1\">\\1", $l);
    
    	$l = preg_replace("/([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+))/i", "<a href=\"mailto:\\1\">\\1", $l);
    
    	$new_text .= $l.'<br />';
    }
    
    return $new_text;
    }
  • 今天看 流年 修改了我离开顶想时写过的一个七牛驱动,发现了 一句数组里键的赋值

    'key'=>$config['saveName']? $config['save_name'] : $file['fileName'],

    改成了

     'key'	=>	$config['saveName']? : $file['fileName'],

    开始我以为错了,自己写了个简单脚本测试了下:

    QQ20150702-1@2x.png

    于是乎我去查了php官方手册:

    发现了下面这段:

    三元运算符 ¶

    另一个条件运算符是“?:”(或三元)运算符 。

    Example #2 赋默认值

    <?php

     // Example usage for: Ternary Operator

     $action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

     // The above is identical to this if/else statement

     if (empty($_POST['action'])) {

         $action = 'default';

     } else {

         $action = $_POST['action'];

     }

     ?>

    表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

    自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

    Note: 注意三元运算符是个语句,因此其求值不是变量,而是语句的结果。如果想通过引用返回一个变量这点就很重要。在一个通过引用返回的函数中语句 return $var == 42 ? $a : $b; 将不起作用,以后的 PHP 版本会为此发出一条警告。


    自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

    又学到一招。

微博一键登入