牛骨文教育服务平台(让学习变的简单)
博文笔记

php学习之(一)基本特性

创建时间:2018-03-09 投稿人: 浏览次数:179

将这几天从菜鸟教程上学到的PHP先做一个简单总结:

    1.php是一个弱类型脚本语言,

    2.是一个在前端表现出色的语言(可能要问为啥了,因为他的输出语句直接输出各种表单框框呀,屌不屌= =,穿插各种参数哇,6不6,我是觉得这里勾引我了)。     

    今天总结的内容是PHP语言的一些基本特性,共计300行代码。

    因为之前学的是JAVA所以大部分特性是很好理解的,

    最后碰到了魔法变量__TRAIT__这里有点不容易理解,

    查了一下这个变量是专门为了解决类继承方面问题,php实现多继承的。这个得好好看看。

    所以先把前面的记到这里。

    明天发关于TRAIT的理解和与MYSQL的连接及操作CRUD

<?php
	namespace MyProject;
	echo "开始啦";
	echo "Hello world";
	/*
	  多行注释
	 */
	//单行注释
	//变量a
	$a=1;
	//变量A a和A是两个变量,是区分大小写的
	$A=11;
	$b=2;
	//可以直接输出html标签 达到换行的目的
	echo "<br>";
	//变量赋值
	$c=$a+$b;
	//定义全局变量d
	$d=4;
	//函数 test()
	function test(){
		//函数要用全局变量要加global关键字
		global $d;
		//static关键字保证函数执行完成后变量值不被删除
		static $e=5;
		echo $e;
		$e++;
	}
	echo "<br>";
	test();
	echo "<br>";
	test();
	echo "<br>";
	test();
	//给函数传参
	function myTest($x){
		echo "<br>$x";
	}
	myTest(6);
	//有两种输出方式 echo与print
	echo "<br>aa","bb","cc";
	print "<br>aaa";
	//定义数组
	$cars=array("www","ccc","aaa");
	echo "<br>{$cars[1]}";
	echo "<br>{$cars[2]}";
	//EOF使用注意事项
	/**
	 * 1.结束语句必须独具一行,且前面不能有空白
	 * 2.开头和结束标记不在正文出现
	 */
	 $f="beijing";
	echo <<<EOF
		<br><h>第一个标题</h1>
		<input type="text" value="输入框"></input>
		<br><input type="password" value="密码框"></input>
		<br>nihao;$f
EOF;
	//var_dump函数可以输出括号内数据的类型及值
	var_dump($a=-1.0);
	/*php有八种数据类型,
		分别是:整形,浮点型,布尔型,数组,字符串,对象,空值
	*/
	var_dump($a="aa");
	var_dump($a=1);
	var_dump($a=0.1);
	var_dump($a=true);
	var_dump($a=array("aa","bb","cc"));
	class Test{

	}
	var_dump($a=new Test());
	var_dump($a=null);
	/*
	 *1.定义常量用define函数
	 *2.define函数有三个参数
	 *3.分别是:常量名称,常量值,是否开启大小写敏感(默认敏感)
	 *4.常量是全局的
	 * */
	define("CHANGLIANG","常量1",true);
	echo CHANGLIANG;
	echo changliang;
	function testchangliang(){
		echo changliang;
	}
	testchangliang();
	//把两个字符串并置起来用并置运算符.
	$stringa="英雄联盟";
	$stringb="绝地求生";
	$stringc=$stringa."与".$stringb;
	echo $stringc;
	//用strlen()函数返回字符串的长度
	echo strlen($stringc);
	//用strpos()函数返回字符串对应的位置
	echo strpos($stringc,"与");
	//php算数运算符加+减-乘*除/模% 取反-x 并置.
	$A=5;
	$B=2;
	$C=$A+$B;
	echo "<br>$C";
	$C=$A-$B;
	echo "<br>$C";
	$C=$A*$B;
	echo "<br>$C";
	$C=$A/$B;
	echo "<br>$C";
	$C=$A%$B;
	echo "<br>$C";
	$C=-$B;
	echo "<br>$C";
	$C=$A.$B;
	echo "<br>$C";
	//php递增递减++--
	$A=$A++;
	echo "<br>$A";
	$A=$A--;
	echo "<br>$A";
	$A=--$A;
	echo "<br>$A";
	$A=++$A;
	echo "<br>$A";
	//php比较运算符 == === != <> !== > < >= <=
	$A=1;
	$B=2;
	echo "<br>";
	var_dump($A==$B);
	echo "<br>";
	var_dump($A===$B);
	echo "<br>";
	var_dump($A!=$B);
	echo "<br>";
	var_dump($A!==$B);
	echo "<br>";
	var_dump($A<>$B);
	echo "<br>";
	var_dump($A<$B);
	echo "<br>";
	var_dump($A>$B);
	echo "<br>";
	var_dump($A<=$B);
	echo "<br>";
	var_dump($A>=$B);
	/*php逻辑运算 与and 或or 非! 异或xor(只能有一个为true才返回true,两个true都不行)
		&&与 ||或
	**/
	$A=true;
	$B=true;
	var_dump($A or $B);
	echo "<br>";
	var_dump($A and $B);
	echo "<br>";
	var_dump($A xor $B);
	echo "<br>";
	var_dump($A && $B);
	echo "<br>";
	var_dump($A || $B);
	echo "<br>";
	var_dump(!$A);
	echo "<br>";
	/*
	 *数组运算符 集合+ 相等== 恒等=== 不相等!= 不相等<> 不恒等!==
	 */
	$array1=array("aa","bb","cc");
	$array2=array("aa","cc","bb");
	echo "<br>";
	var_dump($array1+$array2);
	echo "<br>";
	var_dump($array1==$array2);
	echo "<br>";
	var_dump($array1===$array2);
	echo "<br>";
	var_dump($array1<>$array2);
	echo "<br>";
	var_dump($array1!=$array2);
	echo "<br>";
	var_dump($array1!==$array2);
	//三元运算符 如果?号前的结果为true则返回:前的值,否则返回:后的值
	$sanyuan1=true;
	echo $sanyuan1?"ok":"no";
	//一般用()来梳理逻辑运算,让代码更加直观
	//phpSwitch语句
	$A="123";
	for ($index = 0; $index < 3; $index++) {
	switch($A){
		case "123":
		 	$A="321";
		 	echo "<br>$A";
			break;
		case "321":
			$A="213";
			echo "<br>$A";
			break;
		default:
			$A="123";
			echo "<br>$A";
	};
	}
	//php数组
	$array=array("aa","bb","cc");
	echo "<br>";
	echo count($array);
	//遍历数组
	for ($index = 0; $index < sizeof($array); $index++) {
		echo "<br>";
		echo $array[$index];
	}
	//关联数组
	$array2=array("aa"=>"11","bb"=>"22","cc"=>"33");
	//根据键获取值
	echo $array2["aa"];
	//遍历关联数组  as前是关联数组 as后是 键=>值
	foreach($array2 as $x=>$x_value){
		echo "<br>";
		echo $x."   ".$x_value;
	};
	//数组排序
	echo "<br>数组排序";
	sort($array);
	rsort($array);
	for ($index = 0; $index < sizeof($array); $index++) {
		echo "<br>";
		echo $array[$index];
	}
	echo "<br>关联数组升序排序";
	asort($array2);
	ksort($array2);
	arsort($array2);
	krsort($array2);
	foreach($array2 as $x=>$x_value){
		echo "<br>";
		echo $x."   ".$x_value;
	}
	//php超级全局变量$GLO 也就是说定义之后可以在任何地方用
	$x=75;
	$y=25;
	function test3(){
		$GLOBALS["z"]=$GLOBALS["x"]+$GLOBALS["y"];
	}
	test3();
	echo "<br>$z";
	//超级全局变量$SERVER
	//获取当前页面在项目中的路径的文件名
	echo $_SERVER["PHP_SELF"];
	//获取服务器IP地址
		echo $_SERVER["SERVER_ADDR"];
	//超级全局变量$REQUEST
	//获取表单请求提交的用户名fname数据
		$name=$_REQUEST["fname"];
		echo $name;
	//超级全局变量$POST
	//获取表单是POST请求提交的用户名fname数据
		$name=$_POST["fname"];
		echo $name;
	//超级全局变量$GET
	//获取表单是GET请求提交的用户名fname数据
		$name=$_GET["fname"];
		echo $name;
	//条件if else, if else if else
	$F=true;
	if($F){
		echo "ok";
	}else if(!$F){
		echo "no";
	}else{
		echo "hehe";
	}
	//循环 while do...while for foreach
	$inta=5;
	//while
	while($inta>=1){
		echo "<br>第".$inta."次";
		$inta--;
	}
	//do...while
	do{
		echo "<br>第".$inta."次";
		$inta--;
	}while($inta>=1);
	//for
	$array1=array("aa","bb","cc");
	for ($index = 0; $index < sizeof($array); $index++) {
		echo "<br>";
		echo $array1[$index];
	}
	//foreach
	foreach($array1 as $a1){
		echo "<br>$a1";
	}
	//魔术变量__LINE__(前后双下滑线记得带上。。)
	echo "第"".__LINE__.""行";
	echo "这是第 " "  . __LINE__ . " " 行";
	//魔术变量__FILE__
	echo "该文件位于"".__FILE__.""目录下";
	$F=__FILE__;
	echo "<br>$F";
	//魔术变量__DIR__
	echo ""当前文件的目录是:"".__DIR__."<br>";
	//魔术变量__FUNCTION__
	function test1(){
		echo ""当前函数的名称为"".__FUNCTION__."<br>";
	}
	test1();
	class Test3{
		function test4(){
			echo ""函数名为"".__FUNCTION__."<br>";
			echo ""类名为"".__CLASS__."<br>";
		}
	}
	$t=new Test3();
	//类方法的调用对象名->方法名
	$t->test4();
	//魔法变量__METHOD__
	function test5(){
		echo ""方法名为"".__METHOD__."";
	}
	test5();
	//魔法变量__NAMESPACE__
	echo "命名空间为".__NAMESPACE__."";
?>



    

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。