@javalaw2010
2015-08-16T13:52:38.000000Z
字数 2129
阅读 1282
PHP
html,css ,javascript等web基础不表,但仍保留数据库等内容;empty()和isset()的区别:
empty()的参数是非空或者非零值,"","0",0,NULL,FALSE,array(),var $var等都被认为是空的,如果为空,返回true.
isset()用于检测对象是否存在,被设置为NULL的变量或者被unset()的变量作为参数,都将返回FALSE
3.命名规则
PHP变量命名规则和其他编程语言(
C++,java)一样,此处不再赘述,开头只能使用字母或是下划线,不能使用数字,尽量不要使用PHP关键字
4.引用:
/*PHP引用示例*/$foo = 'Bob';$bar = &$foo; //传引用$bar = "my name is Tom ";echo $bar; //bar值被改变,输出 my name is Tomecho $foo; //foo值被改变,输出 my name is Tom$foo = "Your name is Bob";echo $bar; //bar值被改变,输出 Your name is Bobecho $foo; //foo值被改变,输出 Your name is Bob
注意:
- 只有有名字的变量可以传引用
- PHP中的引用与C中的指针不同,不会导致内存同体,仅将各自的值关联起来,因此使用unset()释放变量的时候,不会导致引用变量消失。
5.可变变量
$hi = "hello";$$hi = "world";echo "$hi $hello";//输出hello worldecho "$hi ${$hi}";//输出hello world
boolean,integer,float,double,string关于string中的单引号和双引号:
1. 单引号不会使用变量的值来代替单引号中出现的变量名称,而双引号会使用;
2. 单引号中仅可以转义反斜杠和单引号,而双引号中可以转义诸如/t,/r,/$,/n以及正则表达式等;
基于这样的原则,在定义简单字符串的时候,应尽量使用单引号,以减少开销,提高效率。
string中的定界符:
//定界符(<<<)是一个几乎没有人使用的符号(在我的阅历看来),但是保险起见,仍然收录进笔记里$string = <<<EOT巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉EOT;//必须在定界符后选择一个标识符作为开始并以同样的标识符作为结束,结束标识符必须从行的第一列开始并且不能包含除分号外的任何其他字符echo string ;
注意:定界符中不需要转义符号(当然你也可以进行转义操作),其中的文本会被原样输出,变量会被变量的值替代。
2.复合类型array,object
3. 特殊类型resource,NULL
4. resource保存一个到外部资源的引用,比如:
$file_handle = fopen("info.txt","w");$dir_handle = opendir("C:\\学习资料\\中文文化交流");$link_mysql = mysql_connect("localhost","root","123456");...//以上声明的所有变量都是resource类型
5.伪类型 mixed,number,callback
mixed说明一个参数可以接受多种类型(但并不必须是所有);
callback说明可以接受一个用户自定义的函数作为参数。
define("NUM",100);//定义一个值为100名为num的常量define("CONSTANT","hello world");//定义一个字符串常量define("CONSTANT","hello world",true);//定义一个字符串常量,传入第三个参数,常量将不区分大小写echo constant;//正确输出
2.常量变量的比较
- 常量前没有
$符号;- 常量只能使用
define定义而不能通过赋值语句;- 常量不要理会变量范围的规则而在任何地方定义和访问;
- 常量一旦定义就不能被重新定义和取消定义,知道脚本运行结束自动释放;
- 常量的值只能是标量.
字符变量的算术运算
//php字符串的算术运算沿袭了Perl的习惯而非C的习惯$i = 'a';for($n = 0;$n <52;$n++){echo ++$i."\n";};/*输出结果为:b,c,d,e,f,g,h,...,aa,ab,ac,...,ba*/
``为执行运算符,php尝试将反引号中的内容当做外壳命令运行并将其输出返回@错误控制运算符,将其放在一个PHP表达式前,该表达式可能产生的任何错误都将被忽略instanceof类型运算符,用来测定一个给定的对象是否来自指定的对象类