Php / 建站 · 11/24/2020 0

PHP学习笔记_基础篇_Part2

三、复合数据类型

3.1数组

  • 索引数组

$stu=array(‘tom’,’amy’,’lili’);

echo $stu[1];//amy

  • 关联数组

$stu=array(‘name’=>’大白’,’sex’=>’man’,’age’=>100);

echo $stu(‘name’);//大白

  • extract()数组转变量

extract($stu);//$name=’大白’;$sex=’man’;$age=100;

  • 二维数组

$ep=array(

   ‘name’=>’木子’,//这里不是$ep[0]

   array(‘aaa’,’bbb’,’ccc’),//这里是$ep[0]

   array(‘第一’,’第二’,’第三’),

);

echo $ep[0][2];//ccc

ech0 $ep[1][0];//第一

3.2对象

3.3特殊类型

  • 资源:$mysql_connect(‘localhost’,’root’,”);   $fopen(‘./index.php’,’rw’);
  • NULL\null

3.4 数组指针的操作

  • key():从关联数组中取得键名,没有取到返回NULL。
  • current():返回数组中的当前单元
  • next():将数组中的内部指针向前移动一位
  • prev():将数组的内部指针倒回一位
  • reset():将数组的内部指针指向第一个单元
  • end():将数组的内部指针指向最后一个单元
  • foreach(数组 as 键=>值){//循环体}
  • each()遍历数组
  • each()=key()+current()+next()
  • 1.1 list()把索引数组中的值赋给一些变量 $y=array(‘aaa’,’bbb’);list($t,$n)=$y;echo $t,$n;//aaa bbb

3.5数组排序

  • sort() – 对数组进行升序排列
  • rsort() – 对数组进行降序排列
  • asort() – 根据关联数组的值,对数组进行升序排列
  • ksort() – 根据关联数组的键,对数组进行升序排列
  • arsort() – 根据关联数组的值,对数组进行降序排列
  • krsort() – 根据关联数组的键,对数组进行降序排列

四、函数

$fu=function(){……};

function fn(){……}

function_exists():判断函数是否存在function_exists(‘fu’);

默认情况下,函数的值都是值传递,在定义函数的时候前面的参数上加上取地址,表示传递的是变量的地址

function(&$args){}//传址

func_num_args():获取参数的个数

func_get_args():获取传递的所有参数并转成数组

  • 全局变量:在函数外部的变量
  • 局部变量:在函数内部的变量
  • 超全局变量:在函数的内部和外部使用。

在javascript中,局部变量只能在函数内部使用,全局变量在函数内部和函数外部使用。

函数内部声明全局变量

function fun(){$GLOBALS[‘quanju’]=100; globale $quanju2;$quanju2=10}

fun();

echo $quanju;//100

echo $quanju2;//10

静态变量只能被初始化一次 function fun(){static $x=100;echo ++$x;}fun();//101fun();//102

use()可以将匿名函数外的变量引入到匿名函数内部

练习:

生成验证码字符串

$a=array_merge(range(‘a’,’z’),range(‘A’, ‘Z’),range(0, 9));
$b=array_rand($a,4);
shuffle($b);
$str=”;
var_dump($b);
foreach ($b as $i) {
$str.=$a[$i];
}
echo $str;