- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
- PHP 语句和 PHP 变量都是区分大小写的。
- PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建。
- 四种作用域:local、global、static、parameter
global 调用函数外全局变量
<?php
$x=5; // 全局变量
function myTest()
{
global $x;
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
}
myTest();
echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
- PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
$x=5; // 全局变量
$z = 3;
function myTest()
{
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['z'];
}
echo "变量 z 为: $z";
- 第一次声明变量时使用 static 关键字:
function myTest()
{
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
//每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
//该变量仍然是函数局部变量。
- echo 输出数组的某个值,要把有数组的变量放在{}内
$cars = array('vo', 'bmw', 'xxx');
echo "{$cars[0]}";
- echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
关于echo与print的理解,echo只是打印,print有返回值。这样通过print打印后,应该可以通过一些高级操作接收返回值来进行判断吧。
function jj(){
$a=1;
echo $a;
}
$b=jj();
var_dump($b);
打印只是显示在屏幕上,你要是使用这个值的话,必须用return返回,才能在别的地方接收到。所以这里你的函数没有返回东西,只是打印了1而已,所以变量b就没得到任何值,所以为空。
- php数据类型:String/Integer/Float/Boolean/Array/Object/NULL
- define 定义常量:后面有true为不区分大小写,默认为false区分大小写。
define("GREETING", "欢迎访问 Runoob.com", true);
- 字符串操作http://www.runoob.com/php/php-ref-string.html
- php逻辑运算符:
异或运算,如果 x 和 y 有且仅有一个为 true,则返回 true.
//异或运算 与 或运算
$x = 6;
$y = 3;
var_dump($x xor $y);//false
var_dump(false xor $y);//true
var_dump(false or $y);//true
// 优先级: && > = > and
// 优先级: || > = > or
// "||" 比 "or" 的优先级高
// 表达式 (false || true) 的结果被赋给 $e
// 等同于:($e = (false || true))
$e = false || true;
// 常量 false 被赋给 $f,true 被忽略
// 等同于:(($f = false) or true)
$f = false or true;
var_dump($e, $f);
// --------------------
// "&&" 比 "and" 的优先级高
// 表达式 (true && false) 的结果被赋给 $g
// 等同于:($g = (true && false))
$g = true && false;
// 常量 true 被赋给 $h,false 被忽略
// 等同于:(($h = true) and false)
$h = true and false;
var_dump($g, $h);
- 使用for循环遍历数值数组时,for()括号内的条件使用分号,不是逗号。使用foreach遍历关联数组。
数组操作http://www.runoob.com/php/php-ref-array.html
- php中$_REQUEST、$_POST、$_GET。 $_REQUEST俩者都能接收,不过相较于那俩速度慢。