php学习篇之---php变量、数据类型、函数、混合写法~

php学习篇之---php变量、数据类型、函数、混合写法~

 

php书写语法:
 
1.常见php表现形式:
 <?php   代码   ?> 
 <? ?>php短标签,不提倡用是否支持次标签取决于服务器配置 (window下不适用)
 <%%>asp标签,php也可以使用,但不推荐
 <script language="php"></script>:可在html中用
 
 
2.php中双引号可以解析变量和标签,单引号不可以
 双引号中加双引号写入变量需用转义字符"\",否则报错;
 
$name = "小明";
$name.="欢迎\"$name\"";
echo $name;
 
3.可以在任意html文档中插入php语句,一个网页被请求的时候,php解析器会先分析文档里的php语句,将php部分处理后,与静态网页部分一起输出到浏览器
前后台交互最简单的例子?:a标签
 
//这是一个php文件,以下是php中html代码
//实现过程,点击a标签向后台发送请求进行页面跳转,发送请求过程中传给后台一个参数myName和参数的值baowenxin
//后台接收参数值并在点击a标签之后输出这个值

<?php
  $_GET:接收的是数组
?>

<?=$_GET['myName']?>您现在正在访问的站点是<?=$_SERVER['HTTP_HOST']?>
<a href="http://localhost/myphp/lesson1.php?myName=baoWenxin">我的站</a>

 

PHP变量
1.语法规则:使用$声明
     变量名以数字、字母、下划线组成
     数字不能开头,中间不能有空格,严格区分大小写
2.变量的赋值:
(1)直接赋值:
  
$a = 10;
$b = $a;
echo $a,$b;//10 10
$b = 20;
echo $a,$b;//10 20

 

(2)引用赋值:&符连接,a和b指向同一个地址,a变b也变
 
$a =10;
$b = &$a;
echo $a,$b;//10,10
$b = 20;
echo $a,$b;//20,20 
 
(3)变量的变量
  
$a = "hello";
$hello = "world";
echo $$a; //world

$a = "hello";
$$a = "world";
echo $hello; //world

 常量:不能改变得值

定义:define("AB",“你好”,true/false);//是否区分大小写

 

 

 

php数据类型:九种数据类型:
四种标量:boolean(布尔)、intrger(整型)、float(浮点型,也称作double)、string(字符串)
三种复合类型:array(数组)、object(对象)、callable(可调用)
两种特殊类型:resource(资源)、NULL(无类型)
 
检测数据类型:gettype()函数
 
 
布尔(boolean):
(1)true或false 不区分大小写
(2)作为if条件时自动判断,返回true或false
(3)以下情况返回false:false 、0 、”0“、空字符”“、null、array("")、尚未赋值的变量

 

数字类型(NUmber):

$number =1;
$number2 =-1;
$number3 =0123;//八进制
$number4 =0x165;//十六进制,0x开头]

$number =$number+$number2/5;和数学运算一样

 

字符串(string):

//①双引号:其中的变量会被变量值替代
$name="cindy";
$str="Jerry said:\n'I love $name'";
echo $str;---Jerry said:'I love Cindy'

//②单引号:出现的变量不会被变量的值替代
$str='Jerry said:\n"I love {$name}a" ';
echo $str;---Jerry said:\n"I love $name"

注意:双引号可解析变量以及转义字符,单引号不行

//③定界符 (heredoc):定界符由任意三个大写字母,表示开头和结尾,开始的后面什么结束的前后都不能加
$str=<<<AAA
<h1>
<a>0000</a>
</h1>
AAA;

④"."语法是php中的字符串拼接

 

 

数组:

//普通数组
$arr = [1,2,3,4];
$week = array("周一","周二","周三");


//关联数组:
$arr=array("魅力之都"=>"上海","人间天堂"=>"苏杭","人间火炉"=>"重庆");
echo $arr["人间天堂"];// [人间天堂]->重庆


//二维数组:数组的元素还是数组
$arr = array();
$arr[0]=array(1,2,3,4);
echo $arr[0][2];//3

//数组的自动补全
$arr =array();
$arr[0]="1";
$arr[1]="2";
$arr[2]="3";
$arr[]  = "four";//如果为空,取当前最大的下标加1
$arr[]  = "five";
$arr[10]="ten";
print_r ($arr);
//结果如下:

  

 

 

  

数据类型的转换: 运算+时

$num = "100abc";//开始的部分是数字,进行运算就会取数字
$num = $num + 100;
//当字符串与数字类型的进行数学运算时,会自动转换成数字类型,转换成合法的十进制数字,编程时尽量避免混淆的语法;
echo $num; //100

 

  

 PHP语句:赋值语句 、条件语句、三元运算符、循环语句

(1)浮点数运算存在精度问题:

 

$num = 10;
$num=1.1;
$num2 = 2.2;

if($num+$num2==3.3){
     echo "1.1+2.2=3.3";//只是无限接近于3.3,不等于3.3
}else{
     echo "1.1+2.2!=3.3";
}

//结果:1.1+2.2!=3.3;

 

  

(2)短路运算,或运算只要第一个条件满足后,第二个条件表达式忽略

    
一、$num1=5不满足,就会走或者后面的语句,num2会++

$num1 =5;
$num2 = 20;
if($num1>10||$num2++>25){
  echo "$name";
}else{
  echo "--";
} echo $num2;//21


二、$num1 =15满足>=10,$num2不会++
 $num1 =15;
 $num2 = 20;
if($num1>=10||$num2++>25){
	echo "$name";
}else{
	echo "--";
}
echo $num;//20    

 

(5)循环语句

   html和php混合写法 :以下面的形式用foreach写出

     

$arr2[0] = array("小明","今天心情不好","2017-1-1","今天天气不错");
$arr2[1] = array("小明","今天心情不好","2017-1-1","今天天气不错");
$arr2[2] = array("小明","今天心情不好","2017-1-1","今天天气不错");


<table>
	<tr>
		<td>留言人</td>
		<td>留言</td>
		<td>留言日期</td>
	</tr>
	<?php 
		foreach($arr2 as $key=>$val){
	?>
		<tr>
		  <td><?echo $val[0]?></td>
		  <td><?echo $val[1]?></td>
		  <td><?echo $val[2]?></td>
		</tr>
		<tr>
		  <td colspan="3">留言详情:<?echo $val[3]?></td>
		</tr>
	<?php
	}
	?>
</table>

  

 

PHP输出:主要(echo、print_r、var_dump)  
echo   输出一个或多个数字和字符串
print   输出一个字符串
 
函数:有返回值(即便没有用)
ptint():只能打印出简单类型变量的值(如int,string)
print_r() :输出数组,可以打印出复杂类型变量的值(如数组、对象)
var_dump() 输出所有类型,查看某个表达式的值和类型  例如:$num =0.5 var_dump($num) ==>
获取数据类型方法:gettype($num)
使用:echo gettype($num)==》直接输出类型
 
 
PHP函数:
函数需要调用才会执行。可以定义若干个形参
 
形参:区别于js:形参可以设置默认值,但是需放在无默认值的右边

 

function myfunc($par2,$par="默认形参"){
    echo $par."hello world";
}
myfunc(10);//输出 10helloworld;如果没有实参会报错,但会输出默认参数

 

 

php函数闭包:use() 内层函数调用外层变量的时候要用use()将变量传递给内部的函数

function getFunc(){
	$array=array();
	for($i=0;$i<10;$i++){
	  $array[$i]=function()use($i){//定义函数并返回给array数组
		  return 10+$i;
	  };
	}
	return $array;
}
/
/调用

$funcArray = getFunc();
echo $funcArray[0]();//10

 

php函数作用域:

函数体内部定义的变量只在函数体内有效

        $a = 10;
	function addFunc($a){
	  echo $a =$a-3;//7
	}
	addFunc(10);
	echo $a;//10    

     //在函数体内部可以使用global关键字将变量定义为全局变量;
        $a = 10;
	function addFunc($a){
	   global $a;//
            echo $a =$a-3//7
	}
	addFunc(10);
	echo $a;//7         

 

 

php函数引用传值:

在形参前面添加&符

传的是变量本身,而不是它的值

        function myFunc_2($a){
		$a--;
		echo $a;
	}
	$b = 10;
	myFunc_2($b);
	echo $b;//9    

  

  

内置函数:

empty():判定一个变量是否存在,不存在返回true,存在返回false;

为空的情况:变量未定义、定义值但为”“、0、”0“、null

不为空:只有变量在定义之后又并且赋值,且不为空、0、”0“、null

 

isset():判断一个变量是否定义

只有null时是未定义,0、”0“、”“、true、false都是已定义

 

 

 

 

 

 
 
 
 
 
posted @ 2017-11-08 21:57 云淡风轻xin 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值