【PHP系列教程】(4)——PHP的变量
很荣幸上篇文章被版主推荐到首页了,心里算是激动了一把,继续努力学习中吧。本章主要介绍PHP中的变量。主要包括:预定义变量、变量范围、可变变量以及PHP的外部变量等。
一、基础知识
PHP 中一个美元符号后面跟上一个变量名称,即表示一个变量。变量的名称是对大小写敏感的。
变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
注: 字母为 a-z,A-Z,ASCII 字符从 127 到 255(0x7f-0xff)。
<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // outputs "Bob, Joe"
$4site = 'not yet'; // invalid; starts with a number
$_4site = 'not yet'; // valid; starts with an underscore
$t?yte = 'mansikka'; // valid; '洄 is (Extended) ASCII 228.
?>
PHP 3 中,变量总是传值赋值。那也就是说,当你将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。
PHP 4 提供了另外一种方式给变量赋值:传地址赋值。这意味着新的变量简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。这同样意味着其中没有执行复制操作;因而,这种赋值操作更加快速。尽管如此,任何提速的操作只有在紧密循环或者大数组或者对象才可能被注意到。
使用传地址赋值,简单地追加一个(&)符号到将要赋值的变量前(源变量)。例如,下列代码片断两次输出‘My name is Bob’:
<?php
$foo = 'Bob'; // Assign the value 'Bob' to $foo
$bar = &$foo; // Reference $foo via $bar.
$bar = "My name is $bar"; // Alter $bar...
echo $bar;
echo $foo; // $foo is altered too.
?>
需要注意的是只有命名变量才可以传地址赋值,这一点非常重要。
<?php
$foo = 25;
$bar = &$foo; // This is a valid assignment.
$bar = &(24 * 7); // Invalid; references an unnamed expression.
function test()
{
return 25;
}
$bar = &test(); // Invali
相关文档:
1.如果一个方法能被静态,那就声明他为静态的,速度可提高1/4;
2.echo的效率高于print,因为echo没有返回值,print返回一个整型;
3.在循环之前设置循环的最大次数,而非在在循环中;
4.销毁变量去释放内存,特别是大的数组;
5.避免使用像__get, __set, __autoload等魔术方法;
6.requiere_once()比较耗资源;
7.在i ......
http://blog.csdn.net/hahawen/archive/2004/05/01/20692.aspx
三、实现你的Mode层
Model层,就是MVC模式中的数据处理层,用来进行数据和商业逻辑的装封,进行他的设计的时候设计到三个个概念:
------Model类。是实体类。用来保存数据库表格的中一条记录的所有字段的数据。并且可以验证这条记录数据的完整性。
------ ......
delphi 编写的com 对象 用php调用
的
实例
delphi:
function Tmyxml.Get_xml: WideString;
begin
Get_xml:='wo shi a lei!';
end;
function Tmyxml.Get_xmldata: WideString;
var
xmlStr:string;
begin
xmlStr := '<?xml version="1.0" & ......
图片验证码的原理是防止恶意注册,实现方法
验证码:<input type="text" name="yanzhengma" />
<iframe src="code/middle.php" height="20px" width="65px" frameborder="0" id="chkimg" scrolling="no" style=" margin-top:5px">
</iframe>
<a href="javascript:chkimg.location.reload(); ......
--------------01-05--------------------
*
* 文件操作
*
---------------------------------------
读取整个文件: readfile(), fpassthru(), file()
读取一个字符: fgetc()
读取任意长度: fread()
查看文件是否存在: file_exis ......