php基础详解之变量,常量,数据类型,类型转换,运算符,分支与循环
2018-11-13 19:56
537 查看
PHP的写法和用法
php文件可以写HTML,scc,以及js php代码必须写在phpphp标记中
标记的写法:<?php ?>
<?php header("Content-type:text/htl;charset=utf-8"); //php的3种打开方式 //打开地址 http://localhost/php-shh180803/php01/first.php localhost代表www文件夹 //本地查看 http://127.0.0.1/php-shh180803/php01/first.php //手机查看局域网 http://10.80.7.14/php-shh180803/php01/first.php //默认输出echo,只能输出字符或数字,相当于直接在body标签展示 echo "hello world"; //浏览器会默认将响应给其他带标签字符串解析成页面标签 echo "<h1>啊啊啊啊,好难啊</h1>"; ?> <style> h1{ background-color: #FF0000; background-color:<?php echo "yellow" ?>; } </style> <h1 style="background-color:<?php echo "blue" ?>;">么么么额嗯嗯嘛</h1> <script type="text/javascript"> var h1 = document.getElementsByTagName("h1")[0]; h1.onclick = function(){ h1.style.backgroundColor ="green"; } var a = <?php echo 10 ?>; console.log(a); var b = "<?php echo "hello world" ?>"; console.log(b); </script>
声明变量
<?php /* * 变量: * 声明变量:声明变量使用$,使用时一定要加$ * 变量命名规则 * 1、变量名有数字、字母、下划线组成 * 2、变量不能以数字开头 中间不能有空格 * 3、不能使用关键字,保留字 * 4、必须使用驼峰命名法 */ $a = "hello world"; echo $a; /* * 变量的赋值运算 * 对于PHP下的基本数据类型来说默认使用值的赋值,但是也能通过&进行引用赋值 */ /* * 值的传递 * */ $a = 10; $b = $a; echo $a." ",$b;//10,10 echo "<hr/>";//换行 $b = 5; echo $a." ",$b;//10 5 //址的传递(引用赋值) $a = 10; $b = &$a; echo $a;//10 echo " "; echo $b;//10 $b = 5; echo $a;//5 echo " "; echo $b;//5 //变量的变量:可以直接将一个变量的值作为下一个变量的名 $a = "hello"; $hello = "world"; echo $$a;//world $a = "hi"; $$a = "world"; echo $hi;//world ?> <script type="text/javascript"> var $abc; //完成一个对象拷贝 var obj = { a:1, b:2, c:3 } //对于Object以及Array这些引用类型在进行赋值时,先后获共用堆里面的同一个位置,一旦一个发生改变另一个也会发生改变,这种赋值就称为引用赋值 var str = JSON.stringify(obj);//将对象或JSON转成字符串 console.log(str); var obj2 = JSON.parse(str);//将对象类型的字符串转成对象或JSON console.log(obj2); obj2.a = 100; console.log(obj,obj2); //php 没有变量声明提升 </script>
超全局变量
<?php //超全局变量:无论在那个页面都可以使用的变量就成为超全局变量(以被PHP预定义) //$_SERVER:包含操作系统,服务器,浏览器信息,文件信息 //输出数组 print_r echo "<pre>"; print_r($_SERVER); echo "</pre>"; echo $_SERVER["SERVER_NAME"];//输出当前主机名 echo $_SERVER["HTTP_USER_AGENT"];//输出用户代理 echo "<hr/>"; echo $_SERVER["REQUEST_URI"];//输出当前请求文件的地址 //$_GET:获取向当前PHP传输get请求时所携带的参数 //$_POST:获取向当前PHP传输post请求时所携带的参数 echo "<pre>"; print_r($_GET); echo "</pre>"; echo '<pre>'; print_r($_POST); echo "</pre>"; //$_REQUEST:获取get请求以及post请求方式的参数,但是安全性不高且缓慢,不推荐使用 echo "<pre>"; print_r($_REQUEST); echo "</pre>"; //$_COOKIE:可以进行cookie的进行设置以及获取 $_COOKIE["username"] = "sita"; echo "<pre>"; print_r($_COOKIE); echo "</pre>"; //$_SESSION:可以获取或设置存储在服务器端的会话储存 session_start();//开启session $_SESSION["username"] = "xxx"; $_SESSION["pwd"] = 123444; echo "<pre>"; print_r($_SESSION); echo "</pre>"; $a = 10; $b = "hello world"; //$GLOBALS:获取本脚本中的全局变量 echo "<pre>"; print_r($GLOBALS); echo "</pre>"; echo 0; //0 $c = "hi"; echo $GLOBALS['a'] == $a;//1 echo $GLOBALS['a'] != $a;//啥都没有 //$_FILES:获取所上传的文件 // 1.<pre></pre>是html标签,意思是按原样输出不做更改。 2.php代码中用pre主要是做错误代码输出时候,或者打印数组输出起到保持格式的统一性。 ?>
常量
<?php //常量 /* * 一经定义就无法改变的量 * *常量的定义方法:default(常量名,常量值) * 默认常量名为大写 * 常量的生命周期为开始定义到页面结束(整个页面) * */ define("PI",3.141592653); echo PI; // PI = 3.14; // echo PI; 报错 echo "<hr/>"; echo PI; define("PI",3.14); //魔术常量:php预定义一些常量,由于使用的位置不一样得到的结果就会不一样,就称之为魔术常量 echo "<hr/>"; echo __DIR__;//获取当前访问文件的目录名 echo "<hr/>"; echo __FILE__;//获取当前访问文件的系统盘的文件名 echo "<hr/>"; echo __LINE__;//获取当前行的行号 function fn(){ echo __FUNCTION__;//获取当前函数的函数名 } fn(); echo "<hr/>"; class myClss{ function show(){ echo __CLASS__;//获取当前的类的名字 echo "<hr/>"; echo __METHOD__;//获取当前的方法名 } } $obj = new myClss();//实例化一个对象 $obj -> show();//使用实例化对象的方法 ?>
数据类型
<?php /* * 数据类型 * 基本数据类型 * 整型(interge),浮点型(float),字符串(string),布尔(boolean) * * 复杂数据类型 * 对象(object),数组(Array) * 特殊数据类型 * 资源(resource),null */ //整型:整数类型的数据 $a = 10; //gettype:获取某个值的数据类型 echo gettype($a);//interge echo "<hr/>"; $a = 0xff;//十六进制数 echo $a;//255 echo gettype($a);//interge $a = 0777; echo $a;//511 echo gettype($a);//interge echo "<hr/>"; $a = 0b1010;//二进制 echo $a;//10 echo gettype($a);//interge //浮点型 echo "<hr/>"; $b = 1.482489; echo gettype($b);//double echo "<hr/>"; $b = 3e10;//3*10^10NNZ echo gettype($b);//double echo "<hr/>"; //字符串 $str = "hello world"; echo gettype($str);//string echo "<hr/>"; var_dump($str);//输出任何类型的数据并显示改数据的类型 $str = "hi hi hi"; echo "<hr/>"; echo gettype($str);//string echo "<hr/>"; $str = "\"\""; echo $str;//"" echo gettype($str);//string echo "<hr/>"; //定界符 $str = <<<EOF hjasdhjq j qwkdh jk whdjk EOF; echo $str; echo "<hr/>"; echo gettype($str);//string $bol = true; gettype($bol);//boolean $bol = false; gettype($bol);//boolean //数组类型 echo "<hr/>"; $arr = [1,2,3,4]; $arr =["hello","world","today","happy"]; //关联数组:下标为字符串的数组 $arr["魔都"] = "上海"; $arr["首都"] = "北京"; $arr["雾都"] = "伦敦"; echo "</pre>"; var_dump($arr); echo "</pre>"; echo gettype($arr);//array echo $arr["首都"]; echo "<hr/>"; //对象:必须通过实例化类才有 class People{ public $user = "xxxx"; public $age = 18; public $sex = "女"; function say(){ echo $this -> age; } } $person = new People(); echo gettype($person);//object $person -> say(); echo $person -> user; echo "<hr/>"; //资源类型 $fh = fopen("test.txt","r"); echo gettype($fh);//resource //null $test; echo gettype($test);//NULL echo "<hr/>"; $a = null; echo gettype($a);//NULL echo "<hr/>"; $arr = [1,2,3,4]; echo $arr[1];//2 unset($arr[1]);//释放一个值 echo "<pre>"; print_r($arr); echo "</pre>"; echo gettype($a);//NULL ?>
运算符
<?php /* * 运算符 * 算术运算符:+ - * / % * 自增、自减运算符:++ -- * 关系运算符: > < >= <= == === != <> !== * 逻辑运算符:&&(and) ||(or) ! * 三目运算符 条件? 真:假 * 赋值运算符:= += -= *= /= %= */ //++在前:在赋值时,先把$a加1,在赋值给$b $a = 1; ++$a; echo $a;//2 $b = ++$a; echo $a,$b;//3 3 //++在后:在赋值时,先赋值给$b,在把$b加1 $a = 1; $a++; echo $a;//2 $b = $a++; echo $a,$b;//3,2 //关系运算符 $a = 10; $b = "10"; $c = 10; $d = 5; $f = "5"; //!= (写作<>):无论声明类型,只要两个值不一样,就说不等于 var_dump($a != $b);//false , !=是==取反 var_dump($a != $c);//false , !=是==取反 var_dump($a != $d);//true var_dump($a != $f);//true //!==:两个变量的类型或者值有一个不一样,就是不相等 var_dump($a !== $c);//false var_dump($a !== $d);//true var_dump($a !== $b);//true var_dump($a !== $f);//true $a = 3; $b = 4; $c = 5; $res = $a > $b and $a < $c or $c < $b; var_dump($res);//false var_dump(!$a);//false $a = "hi,"; $b = "Alice"; echo $a.$b;//字符串拼接运算符. $a.=$b; echo $a; $a = 10; $b = 5; echo $a>$b?"是假的":"是假的";//是假的 ?>
分支与循环
<?php //语句: /* * 分支语句:if switch * 循环语句:for while do..while forEach * 退出循环语句break,continue * */ $a = 10; $b = 20; //条件判断简单条件使用if if($a < $b){ echo "a小于b"; }else{ echo "a不小于b"; } //情况比较多的使用switch..case //break:终止条件,避免条件成立时,继续执行下一条 $num = mt_rand(1, 10); echo $num."<hr/>"; switch ($num) { case 1: echo "num为1"; break; case 2: echo "num为2"; break; case 3: echo "num为3"; break; case 4: echo "num为4"; break; default: //当以上所有条件都不满足时,取default echo "1-4之外的数"; break; } //使用for循环输出从1到10 echo "<hr/>"; for($i = 1; $i<=10; $i++){ echo $i."<hr/>"; } //while /* * while(条件){ * 条件完成时,此处每次都执行 * 必须要有个条件不满足的操作 * } */ //死循环 //while(true){ // echo "hi"."<hr/>"; //} $num = 1;//初始值 while($num <= 10){ echo $num."<hr/>"; $num++; } //do-while /* * do{ * 做的内容 * }while(条件){ * 先执行代码,在判断条件满足不满足 * 特点:即使条件不满足,也会开启第一次循环 * } */ do{ echo "I am not 满足条件"; }while(false); echo "<hr/>"; $num = 1; do{ echo $num."<hr/>"; $num ++; }while($num <= 10); ?>
相关文章推荐
- JAVA基础二(java中的注释、ava编程语法基础、java数据类型、数据类型的转换、变量、运算符、分支语句、循环语句)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- 黑马程序员——2.1.基础语法(关键字、常量、进制、变量、类型转换、运算符、流程控制(判断、选择、循环))
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- 黑马程序员—Java编程基础+常量与变量+类型的转换+进制的转换+运算符+scanner的使用+程序流程结构控制+循环结构
- Swift 开发1-Swift 介绍,特色,常量和变量,数据类型转换,逻辑分支
- JAVA数据类型,变量,转换,常量,运算符
- PHP基础1-变量/数据类型/单引号双引号区别/运算符/内容输出
- PHP学习之[第03讲]PHP5.4 语法、常量、变量、数据类型详解
- 黑马程序员—JAVA基础—常量、变量、数据类型、运算符
- java 基础(数据类型+操作符+常量与变量+数据类型转换)
- 黑马程序员_Java基础(环境搭建,常量变量,类型转换,运算符,控制语句)
- 黑马程序员_Java基础_02常量、变量、数据类型、运算符、语句、程序执行过程
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
- Java基础语法(一)<注释,关键字,常量,变量,数据类型,标识符,数据类型转换>
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符.
- 【php基础班】第8天 JS变量名、数据类型、逻辑运算符、运算符