引用:http://www.cnblogs.com/confach/category/65968.html
定义变量:
PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。例如:
<?php
$var="liqi";
echo $var;
$VAR=&$var; //后面修改VAR值的时。,var也会变
echo $VAR;
$VAR="qianqian";
echo $VAR;
echo $var;
?>
使用 $_GET['id'] 来代替 $id 从 URL http://www.example.com/test.php?id=3 中获取 id 值,
1 <?php
2 $var=0;
3 function test($index)
4 {
5 global $var;
6 $var=$var+1;
7 echo "The ".$index." number is ".$var."<br>";
8 }
9 test(1);
10 test(2)
11 ?>
当用了global定义全局变量时在给var+1时才会保留1否则又变为0
1 <?php
2 $var=0;
3 function test($index)
4 {
5
6 $GLOBALS["var"]=$GLOBALS["var"]+1;
7 echo "The ".$index." number is ".$GLOBALS["var"]."<br>";
8 }
9 test(1);
10 test(2)
11 ?>
和上面的用法一样结果一样
静态变量:
1 <?php
2 function Test()
3 {
4 static $a = 0;
5 echo $a."<br>";
6 $a++;
7 }
8 Test();
9 Test();
10 ?>
<?php
2 $a="hello";
3 $hello="world";
4 echo $a." ".$$a;
5 ?> 输出的是hello world 后面的$($a)=$hello=world
在PHP必须用下面的方式定义。
bool define ( string name, mixed value [, bool case_insensitive] )
name 为常量名,value为常量的值。case_insensitive]为大小写敏感。默认为敏感。例如:
define("CONSTANT", "Hello world.");
常量和变量不同:
-
常量前面没有美元符号($);
-
常量只能用 define() 函数定义,而不能通过赋值语句;
-
常量可以不用理会变量范围的规则而在任何地方定义和访问;
-
常量一旦定义就不能被重新定义或者取消定义;
-
常量的值只能是标量。
-
$arr = array("Hello" => "Word", 12 => true);
echo $arr["Hello"]; // bar
echo $arr[12]; // 1 -
请记住一点:key 可以是整型或者字符串。如果键名是一个整型的标准表达方法,取整,如果是float型,转化为整型。与之对比,值则可以为任何值。
?> -
<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6]; // 5
echo $arr["somearray"][13]; // 9
echo $arr["somearray"]["a"]; // 42
?> -
1 ?php
2 $arr = array(5 => 1, 12 => 2);
3 $arr[] = 56; // 相当于 $arr[13] = 56;
4 //因为第二个元素的键是12
5 $arr["x"] = 42; // 创建一个新元素,且键为字符串
6 //"x",值位42.
7 unset($arr[5]); //删除键位5的元素。
8 unset($arr); // 删除整个数组
9 //unset()是一函数,从字面的意思上
//看也知道是撤销设置
10 ?> -
下列情况下一个变量被认为是 NULL:
-
被赋值为 NULL。
-
尚未被赋值。
-
被unset()。
-
既然如此,我们如何判断某个变量为NULL ,相当的简单,调用is_null(),如何将某个变量设为NULL ,一种方法是调用unset().
PHP 有一个类型运算符:instanceof。instanceof 用来测定一个给定的对象是否来自指定的对象类。
instanceof 运算符是 PHP 5 引进的。在此之前用 is_a(),但是 is_a() 已经过时了,最好用 instanceof。
-
-
PHP 支持一个执行运算符:反引号(``)。
-
1 <?php
2 $out=`dir c:`;
3 echo '<pre>'.$out.'</pre>';
4 ?>PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。 -
<?php
2 $beer = 'Heineken';
3 echo "$beer's taste is great"; // works, "'" is an invalid character for varnames
4 echo "He drank some $beers"; // won't work, 's' is a valid character for varnames
5 echo "He drank some ${beer}s"; // works
6 echo "He drank some {$beer}s"; // works
7 ?>
字符串的整理函数
- chop(),其实就是rtrim().当然rtrim()还是可以用的
- ltrim(),去掉字符串左边的多于空格。
- trim(),这个比较比较简单,就是把字符串左右2边的空格都给删除。
- 实用HTML格式化的。nl2br().即在字符串的新一行前插入<br>.
<?php
echo nl2br("foo isn't/n bar");
?>
strtolower将字符串变为小写
strtoupper将字符串变为大写
ucfirst将字符串的第一个字符大写。
ucwords 将字符串中的每一个单词的第一个字符变为大写。
explode类似于C#里的Split函数。例如:
为了取得子字符串,调用substr()吧。
- 查找字符串的位置可以使用strpos()以及strrpos().
- 替换的话,调用str_replace()以及substr_replace().
- 构造用__construct();析构用__destruct();
- $this->此类里面的方法或属性
- 类的继承
类的继承和C#,Java语言一样,不支持多重继承。PHP实用extends来继承一个类,和Java有些类似。
在Java里有final这个词,PHP里也有,并且作用相似,就是为了阻止继承或重载,重写方法。 - 提到继承,那么PHP支持接口吗?支持。
- <?php
2 interface IDispose
3 {
4 function Dispose();
5 }
6
7 class page extends IDispose
8 {
9 function Dispose()
10 {
11 //Your code here.
12 }
13 }
3. PHP 的类的类型检查
你要想判断一个类是不是某个类的类型。非常简单,就是instanceof,如果你使用过java,那么你非常熟悉了,因为和Java一样。如果你是用C#的,类似于C# 里的is。
4. 克隆对象
PHP提供一个关键字,clone,就是这个功能。我看PHP是我见到语言中克隆对象比较简单的语言之一。代码如下:
5. 抽象类
PHP也支持抽象类,并且和C#等语言非常类似 - 6. 使用__call重载
这是我认为PHP提供的一个非常cool的功能,非常的佩服。这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。
面向对象的连接
我们可以用以下语句来建立MySQL的连接
1 @ $db = new mysqli( ' localhost ' , ' root ' , ' pwd ' , ' mysql ' ); - @ $db=mysqli_connect('localhost','root','pwd','mysql');
- 试连接的结果需要检查,万一不成功也好做出相应的处理呀。对于此,可以实用mysqli_connect_errno()来处理。
@ $db=new mysqli('localhost','root','password','mysql');
if(mysqli_connect_errno())
{
echo 'Error: Can not connect to database.';
}
选择使用的数据库
db->select_db(dbname)//dbname为你选择的数据库 - mysqli_select_db(db_resource,dbname)//db_resource就是前面提到的数据库的连接资源
- 要查询数据库,我们可以使用mysql_query()函数,在进行此操作前最好把你的sql建立以下
- $result=$db->query($query)
- 以上是面向对象的方法,过程方法可以为:
$result = mysqli_qurey($db,$query)