摘要: 正则表达式最常见的写法是 /正则表达式/修饰符,但神奇的是,php可以写成 #正则表达式#修饰符,还不止这样。首先,/ 这个东西叫做 [正则定界符],任何不是字母、数字或反斜线(\)的字符都可以作为定界符,通常我们使用 / 作为定界符。如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。自 PHP 4.0.4 起,也可以使用 Perl 风格的 (),{},[] 和 <> 匹配定界符。今天第一次见到这么恶心的写法,虽然可以用别的字符当作定界符,拜托能不能统一用 / 啊! 阅读全文
posted @ 2012-02-27 12:50 越己 阅读(274) 评论(0) 推荐(0) 编辑
摘要: php有个预定义变量 $_SERVER,是个数组,其中包含了很多信息,遍历这个数组便可以找到我们感兴趣的东西。function getRequestInfo() { foreach($_SERVER as $key => $value) { $key_html = '<span style="color:red">'.$key.'</span>'; $value_html = '<span style="color:blue">'.$value.'</ 阅读全文
posted @ 2012-02-26 18:25 越己 阅读(238) 评论(0) 推荐(0) 编辑
摘要: .htaccess文件有什么用?用处太多了,比如设置404跳转页面,防止图片盗链等常见功能。详情请移步:http://www.aqee.net/htaccess-usage/http://www.yzznl.cn/archives/260.html怎么编写.htaccess文件先说明:如果你的.htaccess文件有多条指令的话,请注意正确的书写方法是一条指令一行。推荐两个在线编辑器:http://www.htaccesseditor.com/sc.shtmlhttp://www.wangqu.org/htaccess/主机是否支持.htaccess其实大部分主机都支持.htaccess,但实 阅读全文
posted @ 2012-02-26 16:42 越己 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 按常理来说,大多数语言都是区分大小写的,比如变量 ab 和 AB 是不同的,函数cd 和 CD 也是不同的,但是php有点特别。首先,php中的变量和常量是区分大小写的。<?php$a = 'a';$A = 'A';echo $a;echo $A;?>这里打印了两个变量,如果是不区分的,后面的变量应该会覆盖前面的。那再来看常量的定义:<?phpdefine('a', 'a');define('A', 'A');echo a;echo A;?>但是,php中的类名和方法名,甚至 阅读全文
posted @ 2012-02-26 15:35 越己 阅读(13957) 评论(0) 推荐(0) 编辑
摘要: Canvas 画曲线(非圆弧)有两个方法: 1.quadraticCurveTo(cpx, cpy, x, y) 2. bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)本文只讲quadraticCurveTo(),先来看如何画一条曲线。我们需要曲线的 开始点(p0) 和 结束点(p1),外加一个控制点(pc),虽然说有3个点,但实际画图时,我们关心的只是开始点和结束点可以看到曲线经过 p0 和 p1 两个点,控制点pc 只是用来调整曲线的形状的。如果曲线要经过3个点呢?不好做了吧?这里介绍一个公式,从上图可知,曲线不经过控制点,但曲线肯定会经过某个点,.. 阅读全文
posted @ 2012-02-18 15:47 越己 阅读(1712) 评论(1) 推荐(1) 编辑
摘要: AS3有显示列表这个东西,这东西可以理解为一个数组,管理着舞台上n多的的显示对象。以Canvas来说,首先是没有显示对象的概念的,因为一个canvas就是一个显示对象,再没有更细分的概念了,于是在canvas中,舞台可以和显示对象划等号。下面我就用js模拟显示列表,以便更好的管理“显示对象”,实现可读性更好的代码。var displayList = [];接着,每次画一个对象,就把它加入数组,顺序一定要保证是对的,因为后画的会覆盖先画的,不然层叠效果就错了。那么我们怎么用它呢?虽然我不知道flash底层是怎么用显示列表的,我猜大概是遍历它,然后一个个的渲染,每一帧都这么来一下。所以我们需要为每 阅读全文
posted @ 2012-02-15 11:20 越己 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 今天看到一种新的直线运动方法,和我之前一直用的稍有不同,因此记录一下。假设有两个点p1和p2,如下:var p1 = {x: 10, y: 10}, p2 = {x: 100, y: 100};现在要从p1运动到p2,这种程序一般需要定义一个运动速度:var speed = 1;假设运动的物体是个小球,那么这个小球就以每帧1px的速度从p1运动到p2。var ball = {x: 10, y: 10};按照OO的思想,speed应该是ball这个对象的属性,好了,现在小球有 x, y, speed 这三个属性,但是这也不能确定小球的运动,因为还差运动方向呢!这里介绍“速度向量”的概念,想必大家 阅读全文
posted @ 2012-02-14 22:11 越己 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 背景如下:一个数组[0,1,2,3,4,5,6,7,8,9],把它打乱成一个新的数组,这是一维随机如果数组是二维的,打乱成一个新的数组,这是二维随机一维随机很简单,就拿这个例子说事,如下:var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];function randomArr(arr) {var newArr = [],map = {}, // key是数组索引len = arr.length;while(newArr.length < len) { // 获得数组的随机索引值var index = Math.floor(Math.random() ... 阅读全文
posted @ 2012-02-13 16:20 越己 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 图片源两种方式:1.<img id="xxx" src="xxx" />2.var img = new Image();img.src = "xxx";加载如果想在代码里使用图片,我们必须确保图片加载完了,如下:img.addEventListener('load', imageLoaded, false);这种为每张图片创建一个事件侦听器的方式效率上不太好,如果只是一张图片倒是没什么问题。drawImagedrawImage() 方法被重载了,它有三个版本,下面我按需求进行分解:现有一张100 * 100 阅读全文
posted @ 2012-02-11 23:34 越己 阅读(1357) 评论(0) 推荐(0) 编辑
摘要: 基础context.font = '50px serif';context.fillStyle = '#FF0000';context.fillText('Hello World', 100, 80);这是最基本的三行代码,第一行不写的话,默认是 10px sans-serif。关于font属性,取值参照CSS的font属性: [font style] [font weight] [font size] [font face] 比如:context.font = 'italic bold 24px serif';fillText 阅读全文
posted @ 2012-02-10 17:55 越己 阅读(3538) 评论(0) 推荐(0) 编辑