php标记

  语法:有4种书写格式

1.<?php ... ?>  强烈推荐使用。

  如果当前 php的代码段,是整个文档的最后一段,可以省略结束标记?(建议省略)

  每句语句都要以分号;结束。如果这条语句是在php的最后,则可以省略。(前提是:php最后有?>这个结束标记)

2.<script language="php"> ... </script>   容易和javascript标记混淆

3.<? ... ?>  php默认不支持, 必须设置php.ini文件中的  short_open_tag = On

4.<% ... %>  shell风格,php默认不支持,必须设置php.ini文件中的  asp_tags = On

注释

//   行注释

#   行注释

/*  ...   */    块注释

  块注释多用与函数注释

例如:  /*

*     函数的功能

*     @param 参数类型 参数名1 参数解释

*     @param 参数类型 参数名2 参数解释

*     @return 返回值类型 返回值解释

*/

php常见输出语句

  print    简单输出语句,可以输出字符串,变量、表达式等单项的值!(不能输出数组、对象等复杂数据类型)

例如:    print ("Hello,World!");

输出结果:Hello,World!

  echo  也是简单输出语句,但是一次可以输出多个数据,中间以逗号分隔!

例如: echo  "Hello","World!";

输出结果:HelloWorld!

  var_dump  在测试代码的时候使用的最多的语句,不仅仅可以输出一个或多个数据项的值,还可以打印出数据项的类型、长度等额外的信息!而且可以输出复杂数据类型!

例如:    $arr = array("A"=>10,"B"=>20,"C"=>"abc");

var_dump ($arr);

输出结果:array(3) { ["A"]=> int(10) ["B"]=> int(20) ["C"]=> string(3) "abc" }

  print_r   一般就是用来打印数组等复杂数据类型

例如:    $arr = array("A"=>10,"B"=>20,"C"=>"abc");

print_r ($arr);

输出结果:Array ( [A] => 10 [B] => 20 [C] => abc )

  printf   比较擅长输出由静态文本和其他变量所组成的“混合产物”!该语句一般有两个部分:前半部分是用引号扩起来的字符串,如果字符串里面需要出现变量,就用一个变量占位符来表示,占位符都是以%开头的,不同的占位符表示不同的数据类型!后半部分是变量列表,变量列表应该与前面的变量占位符是一一对应的!

例如:    $name="zhangsan";

$age =30;

$home="cn";

printf ("我的名字叫%s;年龄为%d;I come from %s",$name,$age,$home);

输出结果:我的名字叫zhangsan;年龄为30;I come from cn

占位符

  %s将后面的变量认为是一个字符串,并显示为字符串!

  %c:将后面的变量认为是一个整数,并显示为该整数所对应的ACSII码的值 (取值0~127)

  %d将后面的变量认为是一个整数,并显示为有符号的十进制数    (有正负之分)

  %u将后面的变量认为是一个整数,并显示为无符号的十进制数   (无正负之分)

  %o将后面的变量认为是一个整数,并显示为无符号的八进制数

  %x将后面的变量认为是一个整数,并显示为无符号的十六进制数

  %f:将后面的变量认为是一个浮点数,并显示为浮点数

变量

  基础语法:$

  $只是一个语法形式,代表后面的标识符为一个变量名!所以,$不算是变量名的一部分,用于标识后面的字符串是一个变量名

声明变量(增)  PHP是弱类型语言,主要体现在以下的两点:

        PHP不需要显示的声明变量,相反,变量的声明一般是和变量的赋值(初始化)同时进行的!

     变量可以是任意的类型,而不需要指定具体的类型,或者说可以放置任意类型的值!

        虽然php变量不需要显示的声明,并不代表我们可以直接使用一个完全没有初始化的变量!

        PHP变量不需要指定类型,但是并不代表该变量没有数据类型,变量的数据类型就是其保存的值的类型

删除变量(删)  这个时候需要使用PHP的内置函数(系统函数)unset来完成!

修改变量(改)  重新赋值就行了!

获取变量的值(查)   使用$符号找到相应的变量并输出即可

可变变量

变量一共就两个部分:变量名     变量值

其中变量值肯定是可变的,所以,可变变量的含义就是变量的名字可变,也就是说,变量的名字可以用另外一个变量来代替!所以,可变变量也叫作变量的变量

例如:   <?php

      $a="itcast";

      $itcast="Hello,World!";

      echo $$a;

输出结果: Hello,World!

变量间值传递

  值传递   变量间的值发生改变

例如:

<?php

  $a=100;

  $b=$a;

  $b=200;

  echo $a;

  echo $b;

输出结果:100

     200

  引用传递     也叫地址传递,将一个变量值的地址赋值给另外一个变量!变量的地址发生改变

例如:

<?php

  $a=300;
  $b=&$a;
  echo $b;

  $b=200;

  echo $a;

  echo $b;

输出结果:300

     200

       200

预定义变量

$_SERVER   指的是,服务器可以收集到的浏览器信息和服务器信息的集合!是一个数组!

     在真实的项目中,需要什么就打印什么,通过数据的中括号语法访问其中的一些元素

$_GET  用于接收用户在填写表单的时候采用get方式提交的所有的数据

    GET传值的特点:  1,  在用户提交的时候,会把表单中的信息放在URL地址的后面一起传递给所提交的服务器端的文件,请求脚本名与数据之间采用问号?

               分割,数据与数据之 间采用&分割,数据的名字和数据的值之间以等号=分割!

             2.  不是很安全!传输量比较

$_post   也是用来接收表单的数据,只不过接收采用POST方式提交的数据

      注意:绝大部分的表单都是采用POST方式提交!

      因为: 1,  POST可以传递二进制而get方式不行!

          2,  POST提交的数据更多,默认可以达到8M

          3,  更安全

$_REQUET  ($_REQUEST = $_GET + $_POST +$_COOKIE) 包含了用户所有的请求数据,典型就是post数据和get数据

$_COOKIE,$_SESSION     会话技术

$_FILES      文件上传

$GLOBALS    变量作用域

常量

  语法:

  define("常量名",常量值)

另外,在新版本的PHP中,还支持另外一种定义常量的语法:

  const 常量名=常量值;

(注意:const本来是定义类常量的一种语法,新版本的PHP中扩展了它的功能,也能定义普通常量)

注意:

常量是全局的,在脚本的任意的地方都可以使用!(包括函数内和函数外)

常量名不能有$

常量名的命名规则与变量相似,而且更加宽松

常量名一般大写;

get_defined_constants()

一个系统函数,可以得到所有已经定义了的常量!是一个数组

预定义常量

魔术常量

使用的语法与常量一致,而且也是预定义的,但是,其值,由代码所在的位置决定的,也就是说,出现的位置不一样的时候,其值也不一样!

魔术常量的最大特点是:以两个下划线开始,以两个下划线结束

__FILE__   当前脚本所在的路径

__DIR__     当前脚本所在的目录

__LINE__   当前代码所在的行号

__FUNCTION__  当前函数的名字

__METHOD__ 当前方法的名字

__CLASS__  当前类的名字

__NAMESPACE__ 当前命名空间的名字

     

  

php标记,变量,常量的更多相关文章

  1. iOS开发Swift篇(01) 变量&常量&元组

    iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对于14年 ...

  2. C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换

    //Console.WriteLine("Hello World"); //打印显示 //Console.ReadLine(); //接收输入的值 //Console.ReadKe ...

  3. 李洪强iOS开发Swift篇---11_变量&常量&元组

    李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...

  4. PHP 获得当前页面所有变量常量的值

    get_defined_vars() - 返回由所有已定义变量所组成的数组,这个函数在二次开发的时候用起来非常给力: get_defined_constants();可以返回当前的所有常量 zend的 ...

  5. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  6. TF:Tensorflow定义变量+常量,实现输出计数功能—Jason niu

    #TF:Tensorflow定义变量+常量,实现输出计数功能 import tensorflow as tf state = tf.Variable(0, name='Parameter_name_c ...

  7. C#基础课程之二变量常量及流程控制

    课堂练习:.一个四位整数 输出它的千位,百位,十位,个位 数字. ; ; % ; % ; ; Console.WriteLine("千位数" + b+" 百位数" ...

  8. Swift-基础语法之变量&常量&元组

    使用 let来声明一个常量,用 var来声明一个变量.常量的值在编译时并不要求已知,但是你必须为其赋值一次.这意味着你可以使用常量来给一个值命名,然后一次定义多次使用 myVariable = let ...

  9. Java复习3.变量.常量.String.

    Java 中的变量常量数据类型 20131004 前言: 还是国庆节,无聊的很,就没事复习点Java的知识,其实C/C++基本上是现在大型企业面试的语言,但是多学习点Java是没有坏处的,而且,将来工 ...

  10. ios swift 里面关于变量 常量 可选类型 控制流的一些心得

    //swift 里面没有头文件和实现文件.只有一个.swift文件 //swift 里面没有main的概念,程序从main.swift开始执行 //swift 每一条执行语句可以不用分号结束,多条语句 ...

随机推荐

  1. chromium 一些设置 --插件安装

    一.安装flash插件 打开网页 http://get.adobe.com/cn/flashplayer/otherversions/ 选择如图 所示  fp 18 for Opera and Chr ...

  2. 应用容器Application container

    应用容器是最基本的组件,用于布局的容器. 属性 样式 事件 默认白边各24像素,默认为浏览器大小可以设置整体背景 边距等. 根应用文件就是第一个加载的文件.

  3. get到的新技能

    1.重拾选择器 (一)类选择器与id选择器的区别 W3C标准这样规定的,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class. 这样,一般网站分为头,体,脚部分,因为考虑到它们 ...

  4. MySQL日期 字符串 时间戳互转

    平时比较常用的时间.字符串.时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜索一下用法:本文将作为一个笔记,整理一下三者之间的 转换(即:date转字符串.date转时间戳.字符串转dat ...

  5. OD调试篇8

    那么今天需要破解的呢,是这样一款软件. 程序刚刚进去会发现一个nag弹窗   说没有注册,要花20美金才能注册.只有5天的限制期限可以用了 进去之后 点击help里的关于这款软件   也显示了这是一个 ...

  6. 字体Unicode编码

    客专家福利     有奖试读&征文——我们在互联网上奋斗的故事      10月推荐文章汇总      加入“技术热心人”,赢丰厚奖品 html-中文字体在CSS中的显示(Unicode编码) ...

  7. 传智播客JavaWeb day07、day08-自定义标签(传统标签和简单标签)、mvc设计模式、用户注册登录注销

    第七天的课程主要是讲了自定义标签.简单介绍了mvc设计模式.然后做了案例 1. 自定义标签 1.1 为什么要有自定义标签 前面所说的EL.JSTL等技术都是为了提高jsp的可读性.可维护性.方便性而取 ...

  8. Linux------小网盘(1)

    一:要求 利用Linux Socket进行文件传输,本次只支持client端向sever端上传文件 二:实现提示: client.c client的参数有两个,分别是服务器主机名和端口: 在while ...

  9. libevent库1.4升级到2.0时无法flush的解决办法

    libevent的接口兼容性做的还算不错,基本上替换一下就转到新版本了.但是,强制flush数据的时候出了问题.目前的应用场景是,遇到顶号登录这种情形,先用bufferevent_write向客户端发 ...

  10. js 中json字符串转化json对象

    JSON字符串:var str = '{ "name": "cxh", "sex": "man" }'; JSON对象: ...