asp.net程序员学php,.NET程序员学PHP要注意的坑

本文介绍了PHP的基本语法,包括变量的定义与类型(如整型、浮点数、字符串),数据类型转换,以及常用函数如empty(), isset(), unset(), var_dump(), gettype(), print_r()。还涵盖了常量、数组、对象、资源类型和数据类型测试等内容。
摘要由CSDN通过智能技术生成

/*

* PHP基础语法:变量、变量类型、数据类型转换、常量

* 常用函数收集:empty(),isset(),unset(),var_dump(),gettype(),print_r()

*

*/

$a = 100;   //$变量名

$a = "Hello";   //变量类型赋值后发生了变化

echo gettype($a);

ECHO "Hello World"; //内置结构和关键字以及用户自定义的类名、函数名不区分大小写。变量名区分大小写[我只能呵呵]

//可变变量

$hi = "hello";

$$hi = "world";     //可变变量$$hi, 相当于$hello = "world"

echo "$hi $hello";

echo "$hi ${$hi}";      //$$hi $hello等价

//引用赋值

$foo = 'bob';

$bar = &$foo;       //&引用赋值,PHP引用并不是地址指针,只是把各自的值关联起来,unset()不会导致所有引用变量消失

$bar = 'jack';

unset($foo);

echo $bar;

/*

* 数据类型:不是由程序员设定的,由PHP根据变量使用的上下文在运行时决定的。

* 4种标量类型:boolean,integer,float,string

* 2种复合类型:array,object

* 2种特殊类型:resource,NULL

*/

//布尔型boolean:如何类型的值都可以自动转换成boolean,以下认为是FALSE,其它都是TRUE

/*

* 0或0.00为False,-1和其他非零为True

* 空白字符串和字符串"0"为False

* 没有成员变量的数组

* 特殊类型NULL,包括尚未设定的变量

*/

//整型Interge:32位平台-2147483648~2147483647,不支持无符号整数。超出范围就变成float

$int1 = 10; $int2 = 0123; $int3 = 0xFA;     //十进制,八进制0开头,十六进制0x开头

//浮点数float或double, 与平台相关1.7E-38~1.7E+38,精确到小数点后15位。浮点数8内部类似7.9999999999...

$float1 = 1.234; $float2 = 1.2e3; $float3 = 7E-10;  //7*10的-10次方

//字符串String:单引号、双引号、定界符

//单引号:不会解析单引号中的变量。仅能转义单引号和转义字符\本身。单引号效率高一些。

echo 'this\'s \\a simple string';

//双引号:变量名会被变量值代替,可用${}形式,可解析其它转义字符:\n, \r,\t等等

//定界符:<<

//数组Array:可以存入如何类型的数据。是一个有序图(把values映射到keys)。

$arr1 = array("foot" => "bar", 12 => true);     //key可以是integer或string,value可以是任何类型

print_r($arr1);

//对象Object:由一组属性值和一组方法构成。

class Person                //class前面是不能加public的,这和.NET可不同。作用域可能和导入到其他文件中有关。暂时只能满脑子???

{

public $name;           //Public,Protected,Private可见性是一样的

function Say()

{

echo "Doing foo.";

}

}

$person1 = new Person();     //也是用new生成类的实例对象

$person1->name = "Tom";

$person1->Say();

echo gettype($person1->name);

//资源类型Resource:外部资源的引用,通过专门的函数来建立和使用。打开文件、数据库连接、图形画布区域等的句柄.

//据说忘记释放资源,系统自动启动垃圾回收机制

$file_handle = fopen("ttt.txt", "r");

var_dump($file_handle);     //创建成功返回资源引用,创建失败返回boolean(false)

if(!$file_handle)

{

echo 'Failed to open file';

}

//NULL类型:NULL值。下列情况被认为是NULL:直接赋值了NULL, 声明变量尚未赋值, 被unset()销毁的变量

//数据类型转换:自动转换、强制转换

//自动转换:通常只有4种标量类型混合运算才会自动转换。按长度增加的方向。

/*

* True变1,False变0

* integer先转为float

* 字符串先转换为数字:字符串[最前面是]数值部分不带小数点-integer,否则-float. 不是数值开头的-0

*/

//强制类型转换:除了(int)形式外,可用转换函数:intval()、floatval()、strval()等不会改变原变量类型,只获取新值

echo (int)'a123';       //0

echo (int)'123';        //123

//settype($var, 'integer');     //改变了变量的类型

//浮点 转换 为整型,舍弃小数部分,超出整型范围,结果将不确定。NULL转换为字符串为“”。

//变量类型的测试函数:

/*

* is_bool,is_int,is_float,is_string.....

*/

//常量:作用域是全局的。只能是标量(boolean,integer,float,string)类型。定义后不能重新定义或取消定义。

//常量的定义和使用:define()函数,命名与变量一致,区分大小写,惯例是全部大写。不要$符号。defined()检查是否定义了。

//boolean define(string name, mixed value[,bool case_insensitive]);     mixed-代表多种类型都可。

define("PI", 3.1415926);

//预定义常量:

echo PHP_OS;

echo PHP_VERSION;

echo DIRECTORY_SEPARATOR;   //\

echo PATH_SEPARATOR;        //;

echo E_ERROR;               //1

echo E_WARNING;             //2

echo E_PARSE;               //4

echo E_NOTICE;              //8

echo M_PI;                  //3.14159...

//魔术常量:

echo __FILE__;

echo __LINE__;

echo __FUNCTION__;

echo __CLASS__;

echo __METHOD__;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值