PHP之路

局部变量与全局变量
	1.局部变量
		function test(){
			$a=1;//局部变量$a,尽在这个函数内部有效
		}
		echo $a;
	2.全局变量
		$i=10;//全局变量(外部变量)
		define('MY_NAME','卢克卢');
		function test(){
			echo MY_NAME;
			global $i;//声明$i为全局变量,然后再这个函数内部就可以使用$i
			echo $i;
			$a=1;
		}
		test();
	3.静态变量
		function test(){
			static $a=10;//静态变量$a,初始化静态变量,尽在第一次调用的时候执行
			echo ++$a;//当第二次执行这个函数的时候$a这个变量依然存在并且里面的也值依然存在!
		}
函数参数

1.按传递参数
    默认的,我们在传递参数的时候默认使用的就是这个方式!
    对形式参数的操作,根本不会影响到实际参数(变量)的值,两者相当于没有联系!
2. 按引用传递参数
  按引用传递参数,相当于形式参数和实际参数指的是同一个人,只是名字不一样,对于形式参数的操作会直接影响到实际参数

<?php 
/*
 * 按引用传递参数
 * */
function test(&$a){
	echo ++$a;
}
$i=10;
test($i);
echo '<br />'.$i;
?>

3.可变长度参数列表
   PHP提供给我们的,可以直接使用
   func_get_args();
   func_get_arg();
   func_num_args();
   这三个函数可以使用在我们的自定义函数内部,能够返回给我们一些关于参数的信息!

<?php 
/*
 * 可变长度参数列表
 * */
function test(){
	//var_dump(func_get_args());//然后做一些其他的操作
	//var_dump(func_get_arg(4));//调用这个函数的时候可以传入一个值表示获取第几个实际参数(重0开始)
	//var_dump(func_num_args());//返回传入所在自定义函数的参数的个数!
}
test(21,323232,4343,'单位取得完全','dwqdwqdqw');
?>

4.可变函数(变量函数)
   直接把函数赋值给变量
   可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。

<?php 
/*
 * 可变函数(变量函数)
 * */
function test(){
	echo '我是test函数!';
}
$a='test';//把函数名字加上引号,赋值给变量即可
$a();//test();
$b='echo';
$b('dqwdwqdqdqw');
?>
数组
$stu[]="jwg";
$stu[]=23;
$stu[]=true;
$stu[]=88.9;

//输出格式
1 print_r($stu);
2.var_dump($stu); //会显示格式

一维数组创建

第一种方式:
$stu[]
  1. 在未指定键名的情况下,给数组赋值,键名默认从零开始,依次增大
  2.也可手动创名:
  如: $stu[10] = “jwg”;
     $stu[20] = true;
     $stu[] = 78.9;
    如:$stu[‘name’] = “jwg”;
       $stu[‘age’] = 24;
       $stu[‘sex’] = true;

第二种创建方法:
1.$stu1 = array(“grs”,22,true,78.9);
 print_r($stu1);
2.
  $stu2 = array(
  ‘name’ => “grs”,
  ‘age’ => 22,
  ‘sex’ => false);
  print_r($stu2);

数组的遍历

两种方法forforeach
遍历数组:每个都经历一遍的意思
1)for循环
   用的比较少,因为有缺陷
2)foreach语句来实现遍历数组的目的
   foreach(数组变量 as 变量1){
   //每次循环执行的语句
   变量1代表当前正在经历(访问)的数据
}
   foreach(数组变量 as 变量1=>变量2){
   //每次循环执行的语句
   变量1代表当前正在经历(访问)的数据的索引值
   变量1代表当前正在经历(访问)的数据
}

		1.
		$stu1 = array("grs",22,true,78.9);
		for($i =0;$i<count($stu1);$i++){
			echo $stu1[$i]."<br / >";
			}
		2.
		$stu2 = array(
			        'name' => "grs",
		 	        'age' => 22,
			        'sex' => false);
		foreach($stu2 as $key =>$value){
	        echo $key."=>".$value."<br />";
			}
二维数组的创建
$students = array(
		1 =>array("jwg",22,true,78.9),
		2 =>array("grs",23,true,66),
		3 =>array("cjf",24,false,88)
		);
	print_r($students);
	//可以单独访问其中的元素:
	//如:echo $students[2][3]   //结果为66  
	//==========================同理:
		$students = array(
		1 =>array(
			'name' => "jwg",
			'age'  => 22,
			'seex' => true,
			'grades' =>78.9
			),
		2 =>array("grs",23,true,66),
		3 =>array("cjf",24,false,88)
		);
		//访问元素:
		echo $students[1]['grades'];
预定义超全局数组变量

已经定义好了(存在)的变量(存放的数据的类型是数组)。
超全局:超级全局变量,作用域(有效区域)!
传递数据(提交数据)给服务器端主要两种方式
1.get方式
比如:
  ?参数名=参数值&参数名=参数值…
  http://localhost/demo5_3/index.php?参数名=参数值
  在服务器端(请求的php文件这边)可以通过$_GET来获取到
  $_GET索引值为参数名,索引值对应的数据就是参数值
2.post方式
  比如表单 post发送过来的!
  可以通过$_POST来获取到!

<?php
var_dump($_GET);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>预定义超全局数据变量</title>
</head>
<body>
<form method="get"> //action默认提交到本页面
	姓名:<input type="text" name='username' /><br />
	性别:<input type="text" name='sex' /><br />
	<input type="text" name='dwqdwqdqw' />
	<input type="submit" value='提交' />
</form>
</body>
</html>
与数组有关的一些函数
array_count_values

1. array_count_values
$array = array(1, “hello”, 1, “world”, “hello”);
$arr=array_count_values($array);//函数返回数组类型的数据
print_r($array);//原来的数组不会受到任何影响
在这里插入图片描述

array_key_exists

$search_array = array(‘first’ => 1, ‘second’ => 4);
var_dump(array_key_exists(‘second’,$search_array));
在这里插入图片描述

array_search

$array = array(0 => ‘blue’, 1 => ‘red’, 2 => ‘green’, 3 => ‘red’,4=>15);
var_dump(array_search(‘15’, $array,true));
搜查指定的值,第三个参数如果为true则还比较数值类型

in_array

检查数组中是否存在某个值
$os = array(“Mac”, “NT”, “Irix”, “Linux”);
var_dump(in_array(‘Mac’, $os));
第三个参数如果为true则还比较数值类型

list

$arr=array(60,80,100);
list($sunshengli,$xiaohong,$xiaoming)=array(60,80,100);
echo $sunshengli; //输出结果为60
右边第一个参数开始赋值

asort
		$students=array(
			'sunshengli'=>60,
			'lilei'=>80,
			'hanmeimei'=>100,
			'zhangsan'=>90
		);
		asort($students);
		print_r($students);
array_filter
		function odd($var)
		{
			return($var % 2 == 1);
		}

		function even($var)
		{
			return($var % 2 == 0);
		}

		$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
		$array2 = array(6, 7, 8, 9, 10, 11, 12);

		echo "Odd :\n";
		print_r(array_filter($array1, "odd"));  //对偶数进行过滤
		echo "Even:\n";
		print_r(array_filter($array2, "even"));  //对奇数进行过滤
		
字符串处理
去除空格或其他字符函数 trim
		$str='    abc   ';
		var_dump($str);
		var_dump(trim($str));


		$str='abcabcdefac';
		var_dump($str);
		var_dump(trim($str,'bac'));//如果要去除多个字符可以连着写!
大小写转换函数
	$str='test';
	var_dump($str);
	$str1=strtoupper($str);  //转大写
	var_dump($str);


	$str='TeSt';
	var_dump($str);
	var_dump(strtolower($str)); //转小写
	var_dump($str);
字符串查找函数
	1.substr_count
		$str='testteste';
		var_dump(substr_count($str,'te'));

		$text2 = 'gcdgcdgcd';
		echo substr_count($text2, 'gcdgcd');

		$str='testteste';
		var_dump(substr_count($str,'te',1,8));//不能超出字符串
	2.strpos //查找字符串首次出现的位置
		$str='testteste';
		var_dump(strpos($str, 't1'));
		if(strpos($str, 't')===false){
			echo '没找到!';
		}else{
			echo '找到啦!';
		}

		$str='testteste';
		var_dump(strpos($str, 't',1));
	3.strstr //查找字符串首次出现的位置从第一次出现的位置到结尾字符串
		$str='testteste';
		var_dump($str);
		var_dump(strstr($str,'s'));
		var_dump(strstr($str,'s',true)); //返回s之前的位置
字符串替换函数
	1.str_replace
<?php
	$str=array(
		'abc123abc',
		'123abcabc',
		'abcab123c'
	);
	var_dump($str);
	echo "<br />";
	$str1=str_replace(array('1','2','3'),array('一','二','三'),$str,$count);
	echo $count."<br />";
	var_dump($str1);
?>

在这里插入图片描述

与html标签相关的函数

htmlspecialchars

		$str=<<<START
		<p style="color:red;font-size:128px;">单位确定为取得完全</p>" '
		START;
		echo $str;
		echo "\n";
		echo htmlspecialchars($str,ENT_COMPAT); //后面参数可加可不加

会对一些特殊字符进行转义
在这里插入图片描述
在这里插入图片描述

strip_tags

从字符串中去除HTML和PHP标签
第二个参数表示留下那个标签

		$str=<<<START
		<p style="color:red;font-size:128px;">hhhhhhhhhhhhhhhhhhh</p>
		<div style="color:red;">hhhhhhhhhhhhhhhh</div>
		START;
		//echo $str;
		//echo "\n";
		echo strip_tags($str,"<div><p>");
字符串截取函数 substr

返回字符串由第二个参数到第三个参数的位置

	1.substr
		$str='testdqwdwqdwqdqdwq';
		echo substr($str,3,2); //返回td

		$str='test';
		echo substr($str,-3,2); //返回qd
字符串分隔函数

1. explode

		$str='test,test1,test2,test3';
		var_dump(explode(',',$str,2));  //以逗号进行分割分成2个

在这里插入图片描述
2.str_split

将一个字符串转换为数组

		$str='test';
		var_dump(str_split($str,3));

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值