您的位置:首页 > 编程语言 > PHP开发

php学习之(一)基本特性

2018-03-09 18:25 417 查看
将这几天从菜鸟教程上学到的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();
4000
//给函数传参
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__."";
?>


    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: