php数组声明

 联系我们     |      2020-03-04 22:15

php教程:数组表明,遍历,数组全局变量

复制代码 代码如下:

/*
* 一、数组的概述
* 1.数组的庐山真面目目:管理和操作一组变量,成批管理
* 2.数组时复合类型(能够积存八个卡塔尔(قطر‎
* 3.数组中能够积存任意长度的多寡,也足以积存放肆等级次序的多寡
* 4.数组能够形成其余语言数据布局的效应(链表,队列,栈,集合类State of Qatar
*
*
*
* 二、数组的分类
* 数组中有七个单元,(单元称为成分)
* 每一个成分(下标[键]和值)
* 单访谈元素的时候,都以经过下标(键卡塔尔国来访谈成分
* 1.一维数组,二维数组,三个维度数组。。。多维数组
* (数组的数组,便是在数组中存有别的的数组State of Qatar
* 2.PHP中有二种数组
* 索引数组:就是下标是各种整数的目录
* 关联数组:正是下标是字符串作为目录
*
* 下标(整数,字符串卡塔尔国唯有这两种
*
*
* 三、数组八种宣称方式
*
* 1.平素为数组成分赋值申明
* 如果索引下标不付出,就能够从0初始顺序索引
* 假诺给出索引下标,下四个就会从最大的开头增1
* 要是前边现身后面包车型地铁下标,若是是赋值就是为眼下的要素重新赋值
* 混合表明时,索引和关联不相互影响(不影响索引下标的宣示State of Qatar
*
* 2.运用array(卡塔尔国函数申明
* 暗许是索引数组
* 假诺为涉及数组和索引数组钦赐下标,使用 键=>值
* 多少个分子之内选取" , "分割
* 3.使用任何的函数注脚
*
*
*
*
*/
//索引数组
$user[0]=1;//客商序号
$user[1]="zhangsan";//用户名
$user[2]=10;//年龄
$user[3]="nan";//性别
echo '

'; 
print_r($user); 
echo '

';
//关联数组
$user["id"]=1;
$user["name"]="zhangsan";
$user["age"]=10;
$user["sex"];
$user["age"]=90;//赋值
echo $user["name"];//输出
//使用array(卡塔尔(قطر‎评释数组
$user=array(1,"zhangsan",10,"nan");
//使用array(卡塔尔证明提到数组
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan");
//注解多维数组(多条记下卡塔尔,来保存八个表中的多条客户音信记录
$user=array(
//用$user[0]调用这一行,例如调用那条记下中的姓名,$user[0][1]
array(1,"zhangsan",10,"nan"),
//用$user[1]调用这一行,比方调用那条记下中的姓名,$user[1][1]
array(2,"lisi",20,"nv")
);
//数组保存八个表,各样表有多条记下
$info=array(
"user"=>array(
array(1,"zhangsan",10,"nan"),
array(2,"lisi",20,"nv")
),
"score"=>array(
array(1,90,80,70),
array(2,60,40,70)
)

);
echo $info["score"][1][1];//输出60,
?>
数组一级全局变量

/* 预订义数组:
* 自动全局变量---超全局数组
*
* 1.满含了来自WEB服务器,客户端,运维条件和客商输入的多寡
* 2.那几个数组相比非常
* 3.全局范围内活动生效,都能够间接利用这个数组
* 4.客户不能够自定义这几个数组,但这一个数组的操作方式和友爱定义的数组操作的措施相符
* 5.在函数中央市直机关接可以选取那几个数组
*
* $_GET //经由UEvoqueL央浼提交至脚本的变量
* $_POST //经由HTTP POST 方法提交到剧本的变量
* $_REQUEST //经由GET , POST和总老总KIE机制提交 到脚本的变量
* $_FILES //经由http post方葡萄牙语件上传而付出至脚本的变量
* $_COOKIE
* $_SESSION
* $_ENV //实践情状提交至脚本的变量
* $_SEPAJEROVEEvoque //变量由WEB服务器设定的,或直接和近日剧本的实践景况相关联
* $GLOBALS //只假诺时下剧本有效的变量都在那处,数组的键名叫大局脚本的名目
*
*
*/
//超全局数组在函数内部能够平昔调用
$arr=array(10,20卡塔尔国;//平时数组
$_GET=array(50,90卡塔尔国;//超全局数组
function demo(){
global $arr;//调用全局变量要先包蕴
print_r($arr);
print_r($_GET卡塔尔;//直接调用超全局数组不用包罗
}

?>

//直接把传的值当变量用,当php.ini配置文件中register_global=on时有用。
echo $username."
";
echo $email."
";
echo $page."
";
//最安静的取值方法
echo $_GET["username"]."
";
echo $_GET["email"]."
";
echo $_GET["page"]."
";
?>
this is a $_GET test

username:

password:

print_r($_GET卡塔尔(قطر‎;//不可能接受到
print_r($_POST卡塔尔国;//那样才具选择到
?>

//$_ENV的使用
echo'

'; 
print_r($_ENV); 
echo'

';
//展现当前情状
// 也足以单个遍历
?>

//利用$GLOBALS超全局数组在函数内部调用全局变量
$a=100;
$b=200;
$c=300;
function demo()
{
//直接调用全局变量
echo $GLOBALS["a"]."
";
echo $GLOABLS["b"]."
";
echo $GLOABLS["c"]."
";

}
?>

数组遍历

/* 数组的遍历
*
* 1.行使for语句循环遍历数组
* 1.别样语言(唯有这一种艺术State of Qatar
* 2.PHP中这种艺术不是首荐的形式
* 3.数组必得是索引数组,并且下标必得是连接的。
* (索引数组下标能够不总是,数组还应该有涉及数组,那二种不可能遍历卡塔尔国
*
* 2.接纳foreach语句循环遍历数组
* foreacho(数组变量 as 变量值卡塔尔国{
* //循环体
* }
* 1.循环次数由数组的因素个数调节
* 2.每叁回巡回都会将数组中的成分分别赋值给前面变量
*
* foreach(数组变量 as 下标变量=> 值变量卡塔尔国{
* }
*
*
* 3.while(卡塔尔(قطر‎ list(State of Qatar each(State of Qatar 组合循环遍历数组
*
* each()函数:
* 1.必要四个数组作为参数
* 2.返赶回的也是二个数组
* 3.重返来的数组是0,1,key,value多少个下标(固定的卡塔尔(قطر‎
* 0和key下标是眼下参数数组成分的键
* 1和value下标是当下参数数组元素的值
* 4.默许当前成分便是第一个成分
* 5.每实行叁回后就可以将眼下成分向后活动
* 6.假使到结尾的成分再实行那个函数,则赶回false
* list()函数:
* 1. list(卡塔尔=array(卡塔尔;须求将二个数组赋值给这几个函数
* 2.数组中的成分个数,要和list(卡塔尔(قطر‎函数中的参数个数相通
* 3.数组中的每一个成分值会赋值list(卡塔尔函数中的每种参数,list(卡塔尔将种种参数转为变量
* 4.list(卡塔尔只可以采纳索引数组
* 5.按索引的下标顺序来给参数赋值
*
*
*
*/
//for语句遍历数组
$user=array(1,"zhangsan",40,"nan");
for($i=0;$i<4;$i++)
{
echo"$user[{$i}]=".$user[$i]."
";
}

//使用foreach
$user=array(1,"zhangsan",40,"nan");
foreach($user as $valState of Qatar//$val是自定义变量
{
echo $val."
";//输出与下标无关
}
foreach($user as $key=>$valState of Qatar//$val $key 都以自定义变量
{
echo $key."=====>".$val."
";
}

//foreach遍历多维数组
$info=array(
"user"=>array(
//$user[0]
array(1, "zansan", 10, "nan"),
//$user[1][1]
array(2, "lisi", 20, "nv"), //$user[1]
//$user[2]
array(3, "wangwu", 30, "nan")
),
"score"=>array(
array(1, 100, 90, 80),
array(2, 99, 88, 11),
array(3, 10, 50, 88)
),
"connect"=>array(
array(1, '110', 'aaa@bbb.com'),
array(2, '120', 'bbb@ccc.com'),
array(3, '119', 'ccc@ddd.com')
)
);
foreach($info as $tableName=>$table)
{
echo '

';
echo '

'.$tableName.'

';
foreach($table as $row)
{
echo '

';
foreach($row as $col)
{
echo '

'.$col.'

';
}
echo '

';
}
echo '

';
}

//each()的使用
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan");
$a=each($user);//Array ( [1] => 1 [value] => 1 [0] => id [key] => id State of Qatar 暗中认可是第三个成分的值
print_r($a);
$b=each($user);
print_r($b);//Array ( [1] => zhangsan [value] => zhangsan [0] => name [key] => name 卡塔尔(قطر‎ 每推行三遍,向后遍历贰个

$c=each($user);
print_r($c);//Array ( [1] => 10 [value] => 10 [0] => age [key] => age )
$d=each($user);
print_r($d);//Array ( [1] => nan [value] => nan [0] => sex [key] => sex )
$e=each($user);
var_dump($e卡塔尔(قطر‎;//bool(falseState of Qatar 当未有成分时,重返的值
//each()配合while遍历
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan");
while($arr=each($user))
{
//echo $arr[0]."====>".$arr[1]."
";//通过0,1 来显示 键(下标) 和 值
echo $arr["key"]."===>".$arr["value"]."
";//通过key,value 来显示 键 值
}

//list(卡塔尔函数的接收
list($name,$age,$sex)=array("zhangsan",10,"nnnnn");
echo $name."
";
echo $age."
";
echo $sex."
";
//另一种采用格局
list(,,$sex)=array("zhangsan",10,"nnnnn");
echo $sex."
";//只把性别转变为变量
//ip判断
$ip="192.168.1.128";
list(,,,$d卡塔尔=explode(".",$ip卡塔尔国;//explode表示用 . 来分隔,并回到一个数组
echo $d;//取出128
//list(State of Qatar只可以接收索引数组的例证
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan");
list($key,$value)=each($user);//Array( [1]=>1 [0]=>idState of Qatar根据索引下标的各样给list中的参数赋值,所以率先 0键 然后是 1值
echo $key."--->".$value;
//while list(卡塔尔(قطر‎ each(卡塔尔国 组合使用
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan");
while(list($key,$value)=each($user))
{
echo $key."--->".$value."
";
}

//多次巡回只彰显二遍的消除办法
//使用数组的内部指针调整函数
//next(数组卡塔尔;数组指针移动到下一个
//prev(数组State of Qatar;数组指针移动到上一个
//reset(数组State of Qatar;数组指针移动到第叁个(重置卡塔尔国
//end(数组卡塔尔(قطر‎;数组指针移动到终极两个
//current(数组卡塔尔(قطر‎;获取当前因素的值,当前成分时指数组指针指向的因素。
//key(数组卡塔尔(قطر‎;获取当前因素的键值(下标卡塔尔
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan");
while(list($key,$value)=each($user))
{
echo $key."--->".$value."
";
}
//在这里将数组指针移动到第一个以下循环就能够出口
//reset($user)
while(list($key,$valueState of Qatar=each($user卡塔尔卡塔尔//因为each(卡塔尔(قطر‎到最后叁个再次回到false,所以循环直接跳出
{
echo $key."--->".$value."
";
}
while(list($key,$value卡塔尔国=each($userState of Qatar卡塔尔国//因为each(卡塔尔(قطر‎到最后三个回到false,所以循环间接跳出
{
echo $key."--->".$value."
";
}

echo current($user)."=====>".key($user);
?>