php超级灵活。灵活的让人犯错误。以及代码的可维护性。
在双引号中,变量名称将被变量值所替换。单引号是真正的字符串,不做任何解析。
变量名称可以和函数名称相同。
不需要事先申明变量,跟js一样。
数据类型:integer,float(double),string,boolean,array,object,NULL和resource。
resource表示外部资源,例如数据库函数。基本上不能操作一个resource变量,他们通常被函数返回。而且必须作为参数传递给其他函数。
php在任何时间根据保存在变量中的值来确定变量的类型,有点像C#的object。
可变变量,把变量的值有作为一个变量。用途还不知道。
常量建议大写,define('name',value),phpinfo()函数查看系统常量。
字符串最好就不要用+,不然结果难以预料。
写法还是要规范一点。该一行还是要一行。
针对变量,&来获取变量的内存地址,相当于C#的ref。
unset()方法破坏变量.
0为false,分支判断要检查仔细用==,用=不报错,但是结果会有问题。而且难以检查到。
echo输出比print速度快。
转型失败会成对应的默认值。
测试数据类型:
gettype(),is_array(),
is_double(),is_float(),is_real()(这几个方法是一个意思)
is_long(),is_int(),is_integer() (这几个方法是一个意思)
is_string(),
is_bool(),is_object(),is_resource(),is_null(),is_scalar(),is_numeric(),is_callable().
由于unset的关系,也有iset判断变量是否有申明。可以传递由,分隔的变量列表。
不可否认,switch语句没有C#里面的优秀。可以case同一个值,而且不用break;
exit终止任何输出。
$_SERVER['DOCUMENT_ROOT'];标准的获取网站根目录
fopen的include_path有些鸡肋。
如果打开远程文件遇到问题,请检查php.ini的allow_url_fopen指令。
访问根目录网址,后面记得/,否则web服务器通常会跳转到/.
php写入文件,换行是个问题,要使用"",参考: $dbstring=date('H:i jS F Y').".$username\r\n";
如果是:$dbstring=date('H:i jS F Y').$username.'\r\n'; ,\r\n都当作普通文本字符了。也有可能是配置问题。真心方便C#写入文件方便。尤其是打开文件方式。
文件管理很多方式,具体使用参考api。