1.标记与注释

<?php

代码

?>

用/*  */注释一段代码,  用 // 注释一行代码   /**    */文档注释

注意:若php下面只有php代码没有别的代码,那么最好不要加 ?>,这样后面的空格会被忽略,以免输出空格或回车,有可能在引用文件时出错。

指令分隔符“分号”:

功能执行语句后面必须加分号,例如echo "aaa"; $a = 100;

结构定义语句后面一定不要加分号,例如:if(true){} function aaa(){} class bbb{}等。

php中结束标记(?>)前的分号不是必选的。

2.输出语句

echo "hello","world";    echo可以输出多个字符串,用逗号隔开

print "hello";               print只能输出一个字符串

var_dump();此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

print_r() 显示关于一个变量的易于理解的信息。如果给出的是 stringintegerfloat ,将打印变量值本身。如果给出的是 array ,将会按照一定格式显示键和元素。 object 与数组类似。

记住, print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。

3.数据类型

php是弱类型语言

可以自动转换数据类型

php支持八中原始数据类型

  • 四种标量类型:布尔型(boolean)、整型(integer)、浮点型(float)(浮点数,也作double)、字符串(string)
  • 两种复合类型:数组(Array)、对象(Object)
  • 两种特殊类型:资源(Resource)、NULL

4.变量定义

php定义变量以$开头

$a=5;

$b="hello";

可变变量:  

$a="hello";
$hello="world";
echo $$a; //输出world 判断变量是否定义:
$a=3;
echo isset($a); // true返回1, false返回0
清除变量:
unset($a);
判断变量是否为空:
empty($a)
变量引用(相当于起了个别名):
取地址: &
$a=5;
$b=&$a; //&取地址,a和b取内存中相同的地址,改变一个,另一个也跟着变
$b=10;
$c = 20;
$b = &$c;
echo $a." ".$b." ".$c; //输出10 20 20
unset($b); //只是取消值关联,引用的变量不会消失
echo $a; //输出10
echo $b;  //$b已经消除,输出会报错
  • 只有变量才有地址,也就是只有变量才有引用
  • 一个变量发生变化,另一个变量的值也跟着变化
  • 在使用unset()函数时,如果有引用关系,只是解除了这种引用关系,只删除一个名字,另一个还在
  • 如果两个变量是引用关系,一个变,另一个也变,但是如果给其中一个引用,不是普通的值,而是一个新的引用,则改变引用关系
5.类型转换

$a=5;
var_dump($a); //输出变量详细信息 int 5
$b=(string)$a; //类型转换
var_dump($b); //string '5' (length=1) 6.运算符表达式 数学运算符: + - * / % ++ -- += -= $a=10;
$b=3;
echo $a/$b; //输出3.33333333333 字符串:拼接字符串用点不是用+ echo "hello"."world"; 比较运算符: < > <= >== == != 逻辑运算符: and && or || ! 错误控制运算符: @ echo @$a; //可以屏蔽错误 三元运算符: ? : echo true ?"男":"女";

7.语句

分支语句
if
if...else
if...else if...else
if的嵌套
$a=2;
switch($a)
{
case 1:
echo "1"; //选中多行语句,按Tab往右移,按Shift+Tab往左移
break;
case 2:
echo "2";
break;
case 3:
echo "3";
break;
default:
echo "default";
break;
}
循环语句
for($a=1;$a<=10;$a++)
{
echo $a."<br>" ;
}
$a=10;
while ($a>0)
{
echo $a."<br>";
$a--;
}
8.函数
//函数四要素: 返回类型, 函数名,参数,函数体
//函数定义方式
function show()
{
echo "hello";
}
show(); //输出hello //调用函数 //有返回值的函数
function show()
{
return "aaaa";
}
echo show(); //有参数的函数
function show($a,$b)
{
echo $a+$b;
}
show(3,4,5); //输出7 //php中可以多写参数 //有默认值的函数
function show($a=5,$b=5)
{
echo $a+$b;
}
show(); //输出10
show(3); //输出8 //把$a=5覆盖即$a=3
show(3,2); //输出5 //参数可变的函数
function show()
{
$attr = func_get_args(); //获取函数的参数
$sum=0;
for($i=0;$i<count($attr);$i++) //func_num_args() 获取参数的个数
{
$sum= $sum+$attr[$i];
}
echo $sum;
}
show(1,2);
show(1,2,3);
show(1,2,3,4); //输出10 //参数可以变化 //随机数函数
echo rand(0,100); //100以内的随机整数 //日期时间函数
date_default_timezone_set('PRC'); //改时区
echo time(); //取当前日期时间(时间戳)
echo date("Y-m-d H:i:s:ms",time()); //格式化日期时间 $a=strtotime("2016-5-6"); //将日期时间格式转化为时间戳
echo date("Y-m-d",$a); //将时间戳转化为日期时间格式 9.字符串处理函数
$a="hello";
echo strlen($a); //返回字符串长度 *****
strcmp ("hello","aa"); //判断两个字符串是否相等, 相等返回0,不相等返回1 //区分大小写
echo strcasecmp("aa","Aa"); //判断两个字符串是否相等, 相等返回0,不相等返回1 //不区分大小写 echo strtolower("HELLO"); //将字符串转换为小写 *****
echo strtoupper("hello"); //将字符串转换为大写 ***** $str = "hello|world|join|on";
var_dump(explode("|",$str)); //拆分字符串,返回数组 *****
$attr =array("aaa","bbb","ccc");
echo implode("|",$attr); //将数组拼接为字符串 ***** echo substr_replace($str,"aaa",0,5); //替换字符串(某个位置(从哪开始,长度)) ***** echo str_replace ("l","a",$str); //查找替换 ***** echo substr($str,6,5); //截取字符串 ***** 一些小知识点
//单引号和双引号都可以定义字符串
$s="join";
$a= "hello\"{$s}world";
$b='hello"{$s}world';
//1.双引号里面可以使用转义字符,单引号里面不能使用转义字符
//2.双引号里面可以解析变量,单引号不行
echo $a."<br>";
echo $b; 定义字符串(块)
//STR为标示名,可以随意写,最好为大写,与结尾标示名必须一致,与三个尖括号之间不能有任何字符
$str = <<<STR
<div style=" background-color:red; color:white; width:100px; height:30px">hello</div>
<div style=" background-color:red; color:white; width:100px; height:30px">world</div>
STR;
echo $str;

最新文章

  1. 开源监控软件ganglia安装手册
  2. OrcharNoCMS中的发布订阅使用
  3. 《OOC》笔记(0)——为何要看这本书
  4. 原生JS:Number对象详解
  5. 【poj3084】 Panic Room
  6. tcp/ip分片
  7. 表单验证与Json配合
  8. Socket(1)
  9. 我只能说,CDH5真的屌爆了!!!
  10. Asp.net web api 知多少
  11. Core Graphics框架
  12. js 实现 input type=&quot;file&quot; 文件上传示例代码
  13. 201521123004 《Java程序设计》第11周学习总结
  14. for循环,数组
  15. Java 运动模糊
  16. ExcelUploadUtil
  17. 泛函p121可分Hilbert空间都同构于l^2
  18. Flask之SQLAlchemy,flask_session以及蓝图
  19. centos7.2环境编译安装mysql5.5.48
  20. Android sharedUserId 和系统权限

热门文章

  1. DevOpsDays 活动咨询网站
  2. Spring 应用外部属性文件 配置 context 错误
  3. ASP.NET CORE RAZOR :个性化显示
  4. elasticsearch报错syncedb_path
  5. 基于Ranking-CNN的年龄识别(CVPR_2017)
  6. 浅谈C/C++堆栈指引——C/C++堆栈
  7. 题目3 : Fibonacci
  8. Hibernate3中generator标签使用
  9. linux 上拷贝文件到windows 上 文件出现锁的文件
  10. systemctl使用说明