PHP基础之常量与变量

1、变量:用来存储信息的空间大小 $var

2、常量:定义之后不可以更改,标识符,并且给其赋值,常量是全局,在整个页面中均可使用,常量一般有英文字母、下划线、数字组成,开头不能是数字和$
  使用define(常量的key,常量的value,true/flase)定义,define(number,2)
  true/false:大小写问题,true--->大小写不敏感,默认是true
  define(str,“icq”);
  echo STR; 不能打印不出 icq
3、字符串 “ ” ‘ ’
  字符串中有需要引号的地方要用单引号“ ‘ ’ ”或者“ \”\" "

  使用 . 拼接字符串
  strlen() 计算字符串长度
  strops(字符串,需要寻找的字符串) 查找字符串,返回首次索引的位置

4、运算符:+ - * / %(取余)
  整除 echo intdiv(4,3)
    \php7.3.4nts>php.exe -R "var_dump(intdiv(4,3));"
  赋值运算符 =     +=     -=   *=      /=     %=   .=(转化成字符串,拼接在一起)
  自增自减 (i=8)
    $a=i++ $a=8 i=9 先赋值,后加一
    $a=++I $a=9 i=9 先加一,后赋值
    $a=--I $a=7 i=7 先减一,后赋值
    $a=i-- $a=8 i=7 先赋值,后减一
  比较运算符
    == 等于  ===绝对等于    !=或者<>不等于    !==绝对不等于   <     >    <=  >=
  逻辑运算符
    && and 与
    || or 或
    ! 非
    xor 异或(有且只有一个为真时,则结果为真) 相同为0,不同为1
  三元运算符:

    条件?表达式1:表达式2---->条件为真时,执行表达式1,条件为假时,执行表达式2
    isset($get_value)判断$get_value是否有值,为NULL时返回false
    表达式1??表达式2 如果表达式1有值,则返回它的值,如果没有值,则执行表达式2(PHP7)
    $i=$a<=>$b 太空船操作符,如果$a大,则$i=1;如果$b大,则$i=-1;如果相等,则$i=0(PHP7)

5、简易Web服务:IIS apache nginx tomcat
  PHP: php -S 0.0.0.0:port
  Python2: python -m SimpleHTTPServer port (默认端口为8000)
  Python3: python -m http.server port

6、条件判断:
  if(条件){条件成立时执行的代码;}
  if(条件){条件成立时执行的代码;}else{条件不成立时执行的代码;}
  if(条件){条件成立时执行的代码;}elseif elseif else

  switch

<?php  
echo "<meta charset='utf-8'>";  
$color=$_GET['color'];  
switch ($color) {  
    case 'red':  
        echo "红色";  
        break;  
    case 'green':  
        echo "绿色";  
        break;  
    default:  
        echo "喜欢的颜色不在这";  
        break;  
}  
?>  

7、循环:
  for(初始值,条件,增量){要执行的} 循环

<?php
echo "<meta charset='utf-8'>";
for ($i=0; $i < 5; $i++) { 
    echo "当前数字为:".$i."\n\n";
}
  ?>

  foreach 循环

<?php
echo "<meta charset='utf-8'>";
$array = array("one","two","there","for");
foreach ($array as $value) {
    echo $value."\n\n";
}
?>
<?php
$array = array("one","two","there","for");
$arr=array('one' =>1 ,"two"=>"2","three"=>true,"te"=>2e-10 );
foreach ($arr as $key => $value) {
    echo $key." is ".$value."\n\n";
}
?>

  while 循环

<?php
echo "<meta charset='utf-8'>";
$i=0;
while ($i<=10) {
    echo "Number is".$i."\n\n";
    $i++;
}
?>

  do while 循环

<?php
echo "<meta charset='utf-8'>";
$i=1;
do {
    echo "Number is".$i."\n\n";
    $i++;
} while ( $i <= 10)
?>

8、数组: print_r(); 可以打印数组
    在单个变量中储存多种类型的值
  类型:数字型数组,关联型数组(键值对数组)、多维数组
  数字型数组
    $array=array("1",123,1.24,ture)
    下标是从0开始的,长度使用count()函数计算,遍历使用for/foreach
  关联型数组:
    $array=array("k1"=>value1,"k2"=>value2)
    下标是键,k1,k2,遍历数组使用for/foreach
  多位型数组:
    $array=array(array(1,2,3),array(4,5,6),array(7,8,9));
  数组的排序:
    升序:sort() 降序:rsort()
    针对关联型数组的值,升序:asort()
    针对关联型数组的值,降序:arsort()
    针对关联型数组的键,升序:ksort()
    针对关联型数组的键,降序:krsort()

9、超级全局变量:
  $GLOBALS //包含全部变量的全局组合数组

<?php
$a=1;
$b=8;
function add()
{
    $GLOBALS['c']=$GLOBALS['a']+$GLOBALS['b'];
}
add();
echo $GLOBALS["c"];
?>

  $_SERVER //包含请求头中信息,用户的IP、用户UA、头信息等等

<?php
echo $_SERVER["PHP_SELF"]."<br>";
echo $_SERVER["SERVER_NAME"]."<br>";
echo $_SERVER["HTTP_REFER"]; //在那个页面跳转过来
echo $_SERVER["HTTP_USER_AGENT"]; //服务器的版本
?>

  $_REQUEST //包含用户提交的所有数据(POST/GET/COOKIE等)
  $-POST //包含用户POST方式发过来的数据
  $_GET //包含用户GET方式发过来的数据
  $_FILES //包含用户发过来的文件对应的数据
  $_EVN //包含服务端环境变量的数组
  $_COOKIE // 包含COOKIE中的数据
  $_SESSION //包含了session中的数据

10、cookie和session的比较:

  • cookie是存放在用户的浏览器中,是服务端通过返回包中set-cookie设置,cookie表示用户的浏览器和服务器之间会话状态,登录成功后方可获取cookie数据,该数据一般具有时效性,失效之后需要用户重新去登录。有了cookie数据之后,用户的每次请求都会带上cookie,服务端会验证该cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略。
  • session是存放在服务端的,表示用户和服务器时间的会话状态,session和cookie是一一对应的,服务器也需要记住哪个用户登录了该站点,一般情况下,session以文件的形式保存在/tmp文件中,形式为sess_XXX,例如:sess_5mt9vacml24gp0j5eru386iuf5,此刻服务器给浏览器分配的cookie是:5mt9vacml24gp0j5eru386iuf5,只要该cookie被修改过,那么服务器就要求用户重新登录。

11、有意思的常量(预定义常量):

  __LINE__;             表示所在的行号
  __FILE__ ;               表示当前文件的路径及文件名
  __DIR__;                  表示当前文件的路径
  __FUNCTION__;      表示当前定义的函数名
  __CLASS__;             表示当前类名

 

posted @ 2019-10-09 19:22  远书  阅读(384)  评论(0编辑  收藏  举报