PHP向浏览器输出静态文本或则动态变量的值
1、print()语句
int print(argument);
<? print ("<p>this is print() test!</p><br/>"); print "<p>this is print() test!</p><br/>"; print "<p>this is print() test!</p> <br> "; ?>
2、echo()语句
void echo(string argument1[,argument2,.................,argumentN]);
<? $arg1="arg1"; $arg2="arg2"; $arg3="arg3"; echo $arg1, " and ", $arg2," and ",$arg3; ?>
3、printf()语句
boolean printf(string format[,mixed arguments]);
<? printf("%d this is menoy<br/>",100);//默认为整数,一个有符号十进制整数 printf("%b this is menoy<br/>",10);//默认为整数,显示为二进制 printf("%c this is menoy<br/>",1);//默认为整数,显示为ASCII码 printf("%0.2f this is menoy<br/>",10);//默认为浮点数,显示为浮点数 printf("%o this is menoy<br/>",10);//默认为八进制,显示为八进制 printf("%s this is menoy<br/>",10);//默认为字符串 printf("%u this is menoy<br/>",10);//默认为无符号的十进制 printf("%x this is menoy<br/>",15);//默认为小写的十六进制 printf("%X this is menoy<br/>",15);//默认为大写的十六进制 ?>
4、sprintf()语句
<? //sprintf和printf函数的功能差不多,但是sprintf()函数不是向浏览器直接输出的 $cost = sprintf("$%.2f",43.2);// $cost = $43.20 echo $cost; ?>
5、数据类型
布尔类型
<?php $arg1=false;// false $arg1=1;//true $arg1=-1;//true $arg1=5;//true $arg1=0;//false ?>
整型
<? 42//decimal -68000//decimal 075//octal oxC4E//hexadecimal ?>
浮点型
<? 4.67 4.0 8.7e4 1.23E+11 ?>
字符串
<? $rr="abcde"; echo $rr[1]; ?>
数组和对象占时不介绍
类型强制转换
<? $score = (double)13; echo $score+"<br/>"; $score = (int)14.8; echo $score+"<br/>"; $sc="this is string"; echo (int)$sc+"<br/>";//0 $dd = 114; $scode =(array)$dd; echo $scode[0];//114 $model = "obj"; $obj=(object)$model; print $obj->scalar;//任何类型都可以转换成对象,结果该变量就成了该对象的一个属性,名字为scalar,所以该输入的值为obj; ?>
类型自动转换
<? $a =5;//integer $b ="15";//string $a+=$b;//20 $c="45 is tring"; $d=10; $c=$d+$c; echo $c;//55 ?>
类型标示符函数
is_array() is_bool() is_float() is_integer() is_null() is_numeric() is_object() is_resource() is_scalar() is_string()
标示符
1、由一个或多个字符组成,必须以字母和下划线开头 2、标示符区分大小写 3、标示符可以使任意长度 4、标识符不能和PHP关键字相同
变量
1、变量总是以$符号开头
给变量赋值
1、不同的值赋值 2、引用赋值类似于C里面的地址引用 <? $a = "dd"; $b= &$a;//dd echo $b; ?>
变量的作用域
1、局部变量
它之只能在函数的内部被使用,在出了函数体,他的值自动清除,即使在函数体外部和函数内部的变量重名,但是这时就意味着他们是两个不通的变量,看下面的例子;
<? $x=4; function assigx(){ $x=0; echo "assigx function is"+$x+"<br/>"; } assigx(); echo "assigx out is"+$x+"<br/>"; //输出0 //输出4 ?>
函数的参数
<? function test( $val){ $res=$val*10; return $res; } echo test(10);//100 ?>
全局变量
因为全局变量在程序的任何地方都可以被修改,所以为了修改它我们需要显示地申明它,修改它的地方,在她的前面加上关键字GLOBAL,如果GLOBAL放在已有的变量前面,这告诉PHP使用同一个变量;
<? $customer=15; function add(){ GLOBAL $customer; $customer++; echo $customer; } add();//16 ?> <? $customer=15; function add(){ //GLOBAL $customer; $customer++; echo $customer; } add();//1 ?>
$GLOBALS数组的使用
<? $customer=15; function add(){ $GLOBALS["customer"]++; } add();//1 echo $GLOBALS["customer"];//16 ?>
静态变量
静态变量值初始化一次
<? STATIC $dfd; function keep_track(){ STATIC $count=0; $count++; echo $count,"<br/>"; } keep_track(); keep_track(); keep_track(); keep_track(); /* 输出结果为 1 2 3 4 */ ?>
PHP超级全局变量
<? foreach($_SERVER as $val=>$value){ echo "$val=>$value<br/>"; } /* * HTTP_ACCEPT=>* HTTP_ACCEPT_LANGUAGE=>zh-cn HTTP_ACCEPT_ENCODING=>gzip, deflate HTTP_USER_AGENT=>Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) HTTP_HOST=>127.0.0.1:8000 HTTP_CONNECTION=>Keep-Alive PATH=>C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs SystemRoot=>C:\WINDOWS COMSPEC=>C:\WINDOWS\system32\cmd.exe PATHEXT=>.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.VBS WINDIR=>C:\WINDOWS SERVER_SIGNATURE=> SERVER_SOFTWARE=>Apache/2.2.16 (Win32) PHP/5.3.3 SERVER_NAME=>127.0.0.1 SERVER_ADDR=>127.0.0.1 SERVER_PORT=>8000 REMOTE_ADDR=>127.0.0.1 DOCUMENT_ROOT=>F:/php_workspace/www SERVER_ADMIN=>[email protected] SCRIPT_FILENAME=>F:/php_workspace/www/day03/dateType.php REMOTE_PORT=>3035 GATEWAY_INTERFACE=>CGI/1.1 SERVER_PROTOCOL=>HTTP/1.1 REQUEST_METHOD=>GET QUERY_STRING=> REQUEST_URI=>/day03/dateType.php SCRIPT_NAME=>/day03/dateType.php PHP_SELF=>/day03/dateType.php REQUEST_TIME=>1285424969 * */ ?>
关于$_GET ,$_POST,$_COOKIE,$_FILES在WEB部分介绍
变量的变量
$r="ddd"; $$r="&cc"; echo $r $ddd; echo $r ${$r} //得到相同的结果ddd &cc
常量
boolean define(string name,mixed value[,bool case_invase]);
define("PI",3.14159);
关于表达式,操作符,以及赋值就不讲了和C语言JAVA几乎一样
字符串的操作
1、拼接 $a="abc"."ef";//abcef $a.="abc";//aabc
逻辑运算符
$a&&$b $a AND $b $a||$b $a OR $b !$a NOT $a $a XOR $b
相等操作符
$a==$b $a!=$b $a===$b//类型和值都相等
字符串插入
1、双引号,里面的东西会被浏览器解析
2、单引号则原样输出
heredoc语法
<? echo <<<ex <p>dfdfdfd</p> ex; //输出dfdfdfd ?> //必须是<<< //开始和结束的标识一样
控制结构就不讲了和JAVA C等语言的用法一样