标签 语法 下的文章

PHP each() list() 的作用与遍历数组

each()在一篇文章看到的时候第一反应:有点印象,但具体是干什么的已经记不起来了,查了手册之后:

返回数组中当前的键/值对并将数组指针向前移动一步

next的区别估计就在于是否返回值了,一个是键值对,一个是值,并且next()中有一句话:

Note: 你将无法区别包含数组尾以及 boolean FALSE 单元的数组。要正确遍历可能含有空单元或者单元值为 0 的数组,参见 each() 函数。

看来next()有一定限制条件。

- 阅读剩余部分 -

MYSQL 从更换域名复习到的replace

还是手贱去买了那个域名,接下来我们要做的就是更换那些连接了,如果不使用SQL,更换是非常费劲的一件事情,而现在可以用语句来解决了,首先找到大致的位置,比如这次,我们找到数据库的表typecho_contents里记录的就是文字内容,可是如果用UPDATE ... WHERE ..=..用的是完全匹配,要用LIKE吗?我以前似乎也不是这样做的,去看了一下以前搬家的博文,看到了replace(),如法炮制。

Update 表名 SET 要替换的列=REPLACE(要替换的列,被替换的字符,替换后的字符)

于是用

UPDATE typecho_contents set text=replace(text, 'test.xsky.me', 'test.codesky.me');
UPDATE typecho_options set text=replace(value, 'learn.xsky.me', 'codesky.me');
UPDATE typecho_contents set text=replace(text, 'learn.xsky.me', 'codesky.me');

- 阅读剩余部分 -

CSS word-wrap,word-break实现自动换行

这是CSS3新增的两个属性,对于溢出相当有效,当年WP博客代码溢出大概也是这样解决的吧:

特地查了一下,当时用的是:word-wrap: break-word;,故标题变长了。

他们的适用范围略有不同,实现换行只要word-break: break-word;,而word-wrap则是负责切割长字符串,大概是这个意思,CSS3的话,大家懂得。

word-wrap扩展阅读:http://www.w3school.com.cn/cssref/pr_word-wrap.asp
word-break扩展阅读:http://www.w3school.com.cn/cssref/pr_word-break.asp

C 输入输出getchar()与putchar()

getchar()putchar()其实感觉也挺神奇,因为这货是读/写一个字符,书的引言就说C语言没有处理整个数组或字符串的操作,暂时也只看到这个,感觉还挺好玩的。

书上给的代码是:

#include <stdio.h>

main(void)
{
    int c;

    c = getchar();

    while (c != EOF) {
        putchar(c);
        c = getchar();
    }

}

- 阅读剩余部分 -

[链接]CSS3动画简介

本来我以为那些华丽的效果都是用JS或者jQuery做出来的,结果没想到在CSS3里,很方便的可以实现相似的效果,至少那些简单的没什么问题。

本来的hover和默认状态都是瞬间完成的改变,但通过transition可以达成渐变的过程。

比如引入一个属性:

img{
    transition: 1s height;
}

- 阅读剩余部分 -

C 什么是字符宽

在《C程序设计语言》里看到这个,不大理解,就稍微自己解释了一下:

字符宽相当于固定占位,设定完之后将从右边开始对齐,有点像排队一样,比如设为%6d如果6格被占满,剩下的人只能站着,也就是在右边延伸,而如果来了三个人,就从右边开始往左边的座位坐。

- 阅读剩余部分 -

PHP 常量定义

突然想到关于常量的问题。常量的作用域是全局的,也就意味着无论在哪里只要执行到定义常量,就能一直使用(包括函数内也不需要重复定义),不需要改变的量我们会首选常量。

常量名通常大写

如果使用一个没有声明的常量,常量名称会被解析为一个普通字符串,但会比直接使用字符串慢近八倍,所以声明字符串一定要加上引号

常量前不需要$,用define()函数来声明,如果只是要检查常量是否定义好了,用defined()函数检查。

define("CON_INT", 100),定义了一个名为CON_INT的常量
define()还有一个可选参数,因为默认是区分大小写的,define("GREETING", "Hello World", true),设置为true的话就不区分大小写了。
常量不能被重新定义或者取消定义,只能是标量

define()的扩展阅读:http://www.php.net/manual/zh/function.define.php


类中常量用const关键词,在这里略有提及:http://codesky.me/archives/php-public-final.wind

const CONSTANT = 'value'就行了,但不能通过实例对象来访问

Javascript Math.random函数生成随机数

Math.random(); //该方法产生一个0到1之间的浮点数。
Math.floor(Math.random()*10+1); //1-10
Math.floor(Math.random()*24);//0-23 
var now=new Date(); 
var number = now.getSeconds(); //这将产生一个基于目前时间的0到59的整数。 

var now=new Date(); 
var number = now.getSeconds()%43; //这将产生一个基于目前时间的0到42的整数。 

关于这点,math.random()具体怎么实现我们不必在意,只要知道怎么用就行了。另外Math.random()实际上取的是[0, 1),加上Math.floor()向下取整,也就是取小于x的整数,在非负数范围内相当于舍去小数点,于是就能达到这个效果了