PHP头条
热点:

初识PHP,


**********************

一、什么是PHP?优点有哪些?

什么是php?

一般来讲:前端页面的普通特效用(例如移入移出)js就可以实现,但是如果是涉及到存储在服务器端的信息(例如点击量,点赞               数)时,就需要编程语言了,而php就是其中一种编程语言因为他是运行在服务器端的脚本语言
优点?

有许多编程语言,那么为什么要选择php
 跨平台性:支持多种操作系统
 编程语言:用代码实现指令
 免费:
 运行在服务器端:

二、基础语法知识

标识

js使用时,需要将代码写在<script></script>标签中,同样的,php需要写在<?php ?>中,其中结尾的?>是可以省略的 ;
在结束时一定加上";"分号

输出语句 echo

<?php echo "Hello world!";?>
计算

在php中是可以进行运算的;
例如:
 <?php echo 12*3;?>

字符串

字符串显示,单引双引都是可以的;其中'.'是连接符 可以将两个字符串拼接起来;
例子:
 <?php  echo '你好'.'我是';?>

注释

  php中用“//”注释
变量

用来存储;用“$”符号声明
例:
 <?php
    $var='大家好';
    echo $var;
    echo "<br />";
    $var='nihao';
    echo $var;
?>

命名规则

1、变量名必须以字母下划线_”开头,如”$_name”,”$name” ,”$name2”等,但是”$9name”是不对的。

2、变量名只能由字母、数字、以及“_”组成,还能包含汉字。如”$_qq”,”$qq308” ,”$my_apple”,“比如"$name我等”,但是”$name*”是不对的。

3、变量名不允许包含空格。当变量名由多个单词组成,建议使用“_”进行分隔(比如 $my_apple),俗称下划线法,或者以大写字母开头比如 $myApple,俗称骆驼式命名法(也称驼峰命名法)。

特别需要注意的是,在PHP中变量名是区分大小写的,如“$my_book”与“$my_Book”代表两个不同的变量。

数据类型

有8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据类型;

布尔类型(boolean):只有两个值,一个是TRUE,另一个FALSE,可以理解为是或否。它不区分大小写,也就是说”TRUE”和“true”效果是一样的。主要用在条件结构(条件结构在后面部分会介绍)中,例如判断是否满足条件的时候,是用“true”表示满足,用“false”表示不满足。需要注意的是,当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。我们可以使用“var_dump”函数,获取它真正的数据类型。
<?php
 $flag=TRUE;
?>   

整型(integer):类似于常见的整数。它可以用十进制、八进制、十六进制指定。十进制就是日常使用的数字;八进制,数字前必须加上“0”(这个0是阿拉伯数字0,可不是英文字母“欧”哦);十六进制,数字前必须加“0x” (这个0也是阿拉伯数字0,不是“欧”哦)。如:

<?php
$data_int = 1234;   // 十进制数 
$data_int = -567;    // 一个负数
$data_int = 0123;    // 八进制数(等于十进制的 83)
$data_int = 0x1a;    // 十六进制数(等于十进制的 26)
?>

浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E。例如:

<?php
$num_float = 1.234;    //小数点  
$num_float = 1.2e3;    //科学计数法,小写e  
$num_float = 7.0E-10;     //科学计数法,大写E  
?>       

字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。

字符串型可以用三种方法定义:单引号形式双引号形式Heredoc结构形式

<?php
  $str_string1='单引号';
$str_string2="双引号";

    echo $str_string1;
    echo "<br />";
    echo $str_string2;
   ?> 但如果想要输出引号怎么办呢?
    可以用转义字符、或者用相反嵌套(双引中用单引,单引中用双引)
        
 但如果输出的“$”怎么办?
  在php中,单引号将输出字符,而双引号则输出的是变量

   <?php
  $love = "I love you!";
  $string1="aa,$love";
  $string2='aa,$love';

  echo $string1;
  echo "<br />";
  echo $string2;
  ?>
 
那么如果字符串很长怎么办?
  可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符
GOD
,然后是字符串,最后以提供的这个标识符结束字符串。在赋值符号后,输入定界符“<<<”,接着是标识符,你可以用你
  的女神作为标识符“GOD”,如第2行,也可以使用你喜欢的狗狗,“DOG”作为标识符,但是,结尾处的标识符也必须是一样
的。此外,在结尾的一行,如第7行,一定要另起一行,并且此行除了“GOD”,并以“;”号结束之外,不能有任何其他字符
,前后都不能有,包括空格,否则会出现错误。
  例子:

   <?php
   $string1=<<<GOD
   我有一只小毛驴,我从来也不骑。
   有一天我心血来潮,骑着去赶集。
   我手里拿着小皮鞭,我心里正得意。
   不知怎么哗啦啦啦啦,我摔了一身泥.
   GOD;
   echo $string1;
  ?>
 
消耗的内存
初始化消耗了624056, 字符串消耗328, 整型和浮点型都是288, 数组消耗632。

通过使用“memory_get_usage”获取当前PHP消耗的内存。提到内存的消耗,就有了资源的概念。

资源(resource):
资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。

NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。

有没有疑问?echo和var_dump区别
 var_dump 判断一个变量的类型与长度
 echo仅输出变量或字串
常量

理解为不变的值;PHP中的常量分为自定义常量系统常量。
自定义常量是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define()定义
define(必选参-标识,必选参-值,可选-对大小写是否敏感-truefalse)
例子
<?php
define('PI',3.14);
$r=3;
echo "面积为:".(PI*$r*$r)."<br />";
echo "周长为:".(2*PI*$r)."<br />";
?>
 

系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:

(1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

(2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

<?php    echo __FILE__;    echo "<br />";    echo __LINE__;    echo "<br />";    echo PHP_VERSION;    echo "<br />";    echo PHP_OS;    echo "<br />";   ?> 那么常量应该如何取值?  第一种是使用常量名直接获取。
<?php
 define("PI",3.14);
 $r=1;
 $area = PI*$r*$r; //计算圆的面积
     ?>
 第二种是使用constant()函数。

  <?php
    define("PI",3.14);
     $r=1;
      $area=constant("PI")*$r*$r;
  ?>


那么如何判断常量已经被重复定义?
 可以运用函数defined(常量名字);若存在则返回布尔类型true,否则返回布尔类型false
运算符

运算的符号;分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符7类。

算术运算符

取模例子
<?php 
        $maxLine = 4; //每排人数
        $no = 17;//学生编号
        $line=ceil($no/$maxLine);
        $row=$no%$maxLine?$no%$maxLine:$maxLine;
    //$row=$no%$maxLine;
        echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";
?>
这两种区别?有没有必要判断?
 $row=$no%$maxLine?$no%$maxLine:$maxLine;
 $row=$no%$maxLine;

赋值运算符

(1)“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。

(2)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。

<?php
    $a = "我学习PHP!";
    $b=$a;
    $c=&$a;
    $a = "我天天学习PHP!";
    
    echo $b."<br />";
    echo $c."<br />";
?>

比较运算符

三目运算符
(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为 expr2,否则为expr3。
$b = $a >= 60 ? "及格": "不及格"; 

逻辑运算符

连接运算符

(1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。

(2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。

例子
<?php
    $a = "张先生";
    $tip=$a;
    $tip=$a.',欢迎你!!';
    $b = "东边日出西边雨";    
    $b.=',道是无情却有情';
    $c = "东边日出西边雨";    
    $c=$c.',道是无情却有情';
    
    echo  $tip."<br />";
    echo  $b."<br />";
    echo  $c."<br />";
?>



错误控制运算符

错误控制运算符错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。

需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

语言结构语句

条件结构

PHP中的“if…else…”语法,如下:

<?php
if(条件){
     //分配服务器干的任务A
}else{
     //分配服务器干的任务B
}
?>

通过条件判断,若返回值为布尔值TRUE,则执行任务A,若返回值为FALSE,则执行任务B。

例子:
 <?php
    date_default_timezone_set('Asia/ShangHai');
    $today = date('m-d',time());//获取当天日期
    $birthday = "02-14";//生日
    $money = 238;//消费金额
    $discount = 0.8;//八折优惠
    if($today==$birthday){
        echo $money=$money*$discount;
    }else{
        echo $money=$money*1;
    }
?>
if…else if…”和“if…elseif…else…”同理。



“switch...case...”语法,如下:

<?php
switch (条件)
{
case 条件值一:
  //任务一
  break; 
case 条件值二:
  //任务二
  break;
default:
  //默认任务
}
?>
首先判断条件,若条件的返回值为条件值一,则执行任务一,若条件返回的值为条件值二,则执行任务二,若条件的返回值既不是条件值一也不是条件值二,则执行默认任务。break的作用是结束switch(后面会有专门举例说明),使用 switch 语句可以避免冗长的 “if..else if..else”代码块。
例子:
<?php
$num = rand(1,50);//获取1至50的随机数
$info = "";//提示信息

    switch($num){
        case 1 :
                $info = "恭喜你!中了一等奖!";
                break;
        case 2 :
                $info = "恭喜你!中了二等奖!";
                break;
         case 3 :
                $info = "恭喜你!中了三等奖!";
                break;     
        default:
                $info = "很遗憾!你没有中奖!";
    }
        echo $info; //输出是否中奖
?>

break的作用是阻止代码进入下一个case 中继续执行。跳出循环语句。

循环语句

在PHP中,while循环语句如下:

<?php
while(条件){ 
     //执行任务
}
?>
首先判断某个条件是否符合(条件返回值是否为TRUE),若符合则执行任务,执行完毕任务,再判断条件是否满足要求,符合则重复执行此任务,否则结束任务。
例子:
<?php
$sum = 12;//小宠物当前的饥饿程度
echo "我饿啦:-(";
echo "<br />";
while($sum<100){//小宠物的饥饿程度到100,表示小宠物吃饱啦,不用继续喂了,没吃饱继续喂食
    $num = rand(1,20);//随机数,模拟喂食小宠物的小面包
    $sum = $sum + $num; //小宠物吃小面包
    echo "我还没吃饱呢!";
    echo "<br />";
}
echo "终于吃饱啦^_^";
?>

在PHP中循环语句还有另一种:do...while循环语句语法如下:

<?php
do{ 
     //执行任务
}while(条件)
?>
例子:
<?php
$i =  1 ; //从第1圈开始跑
do{  //跑10圈
    echo "在跑第".$i."圈。";
    $i++;
}while($i<=10)
?>

其中while和do while的区别是:do while不管条件是否成立,都会执行一遍


在PHP中还有一种循环语句,for循环语句结构如下:

<?php
for(初始化;循环条件;递增项){
      //执行任务
}
?>
for 语句中,“初始化”在循环开始前无条件求值一次,“循环条件”在每次循环开始前求值。如果值为 TRUE,则继续循环,执行循环体语句(执行任务)。如果值为 FALSE,则终止循环。“递增项”在每次循环之后被求值(执行)。其常用于循环执行代码块指定的次数
例子:
<?php
//for语句写法
$sum=0;
for($i=0;$i<100;$i++){//注意
    $sum = $sum + $i; //    累加求和
}
echo "for语句的运行结果:".$sum."<br />" ;
?>

在PHP中foreach循环语句,常用于遍历数组,一般有两种使用方式:不取下标、取下标。

(1)只取值,不取下标

<?php
 foreach (数组 as 值){
//执行的任务
}
?>


例子:
<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储
//使用循环结构遍历数组,获取学号和姓名  
foreach($students as $v){ 
    echo $v;//输出(打印)姓名
    echo "<br />";
}
?>

(2)同时取下标和值

<?php
foreach (数组 as 下标 => 值){
 //执行的任务
}
?>
 例子:
 <?php
  $students = array(
  '2010'=>'令狐冲',
  '2011'=>'林平之',
  '2012'=>'曲洋',
  '2013'=>'任盈盈',
  '2014'=>'向问天',
  '2015'=>'任我行',
  '2016'=>'冲虚',
  '2017'=>'方正',
  '2018'=>'岳不群',
  '2019'=>'宁中则',
  );//10个学生的学号和姓名,用数组存储
  //使用循环结构遍历数组,获取学号和姓名  
  foreach($students as $key =>$v){
      echo $key.":".$v;//输出(打印)学号:姓名
      echo "<br />";
  }
 ?>
以上就是php入门了,大家可以下载php学习手册学习或者不会的时候查阅。












www.phpzy.comtrue/php/2542.htmlTechArticle初识PHP, ********************** 一、什么是PHP?优点有哪些? 什么是php? 一般来讲:前端页面的普通特效用(例如移入移出)js就可以实现,但是如果是涉及到存储在服务器端的信息(例如点...

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐