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

php基本语法与函数

2016-04-24 11:49 453 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: