PHP笔记 22 23 24 25

这篇博客详细介绍了PHP中数组的创建、遍历、计数、输出以及相关函数的使用,包括多维数组、预定义超全局数组变量、数据提交给服务器的方式(GET和POST)等。同时,展示了如何结合HTML输出表格,并提供了如array_count_values(), array_key_exists(), array_search()等处理数值的函数实例。
摘要由CSDN通过智能技术生成

数组

方法一
变量名称【索引值】=数据;
变量名称【】=数据;//不写索引值默认是所以数组,从0开始。
方法二
变量名称=array{
索引值=>数据;

};

索引,你也可以理解为目录,就相当于给里面的每一个数起一个名字,
名字如果取得是整形,那么这个数组,就是索引数组 。
如果名字字符串类型,那么这个数组就是关联数组。
在这里插入图片描述
可得,索引值重复的值上方的值会被下方覆盖。
在这里插入图片描述
为了能更清晰的观察,网页界面右键在这里插入图片描述
Array是输出的意思。
在这里插入图片描述
或是
在这里插入图片描述

使用array()语言创建数组

在这里插入图片描述
(length=6)
在这里插入图片描述
通过=>可更换索引值

<?php
$student=array(10,
'得分',
22=>true,
60.5);
var_dump($student);

在这里插入图片描述
或是

<?php
$student=array(
    'num'=>10,
    'nuc'=>11,
    'n'=>'得分'
);
var_dump($student);

echo $student['n'];

在这里插入图片描述
索引值也可以为数组
在这里插入图片描述
当查询某个数的时候,可以用图下表示

echo $student[索引值];

多维数组

在同一个数组中,存储任何类型的数据,

<?php
$student=array(
    0=>array('num'=>10,'nuc'=>11,'n'=>'得分'),
    1=>array('num1'=>10,'nuc1'=>11,'n1'=>'得分1')
);
var_dump($student);

注意逗号!array后面最后一个数带不带逗号都能运行

数组的遍历

count

遍历数组:每个都经历一边的意思。

<?php
$student=array(
    'a','c','d','x','s','z'
);//count(数组)返回值里面数据的个数,还可以获得多维数组的个数
echo count($student);

在这里插入图片描述
count默认获取第一层,例如:
在这里插入图片描述
要想全部获取,

<?php
$student=array(
    array(1,2,3),
    array(4,5,6),
);//count(数组)返回值里面数据的个数,还可以获得多维数组的个数
echo count($student,1);//2+6=8

在这里插入图片描述

使用循环输出数组

for循环

<?php
$arr=array(
    'a','c','d','x','s','z'
);//count(数组)返回值里面数据的个数,还可以获得多维数组的个数
for($i=0;$i<count($arr);$i++){
    echo $arr[$i];
    echo "<br />";
}
echo count($arr);

但是关联数组,中for循环不可用。
在这里插入图片描述

foreach()PHP内核提供的

在这里插入图片描述
格式如图所示,看看就行!

<?php
$arr=array(
  'name'=>'成功',
  'num'=>10
);
foreach($arr as $value){
    echo $value.'<br />';
}

在这里插入图片描述
如若,想显示数组变量,则可书写如下(一维数组)

<?php
$arr=array(
  'name'=>'成功',
  'num'=>10
);
foreach($arr as $key=>$value){//自己定义
    echo $key.'=>'.$value.'<br />';
}

在这里插入图片描述
对于多维数组

<?php
$arr=array(
  'name'=>'成功',
  'num'=>10,
  array(
      1,2,3
  )
);
foreach($arr as $value){//自己定义
    echo $value.'<br />';
}

使用echo输出,会将array中的视为一个整体,即如图所示
在这里插入图片描述
应将echo改为var_dump();输出即可
在这里插入图片描述

进行多重嵌套

例如

<?php
$arr=array(
    array(1,2,3),
    array(1,2,3,'j'),
    array(1,'g',2,3,9)
);
foreach($arr as $value){//自己定义
    var_dump($value);
}

在这里插入图片描述
再加一层嵌套

<?php
$arr=array(
    array(1,2,3),
    array(1,2,3,'j'),
    array(1,'g',2,3,9)
);
foreach($arr as $value){//自己定义
    foreach($value as $value1){//自己定义
        echo $value1.'<br />';
    }
}

即可显示里面的内容。
在这里插入图片描述

与html相结合

<?php
$students=array(
    array('张三','d',true,3),
    array('李四','j',false,7),
    array('王五','g',true,2)
);
echo'<table border=1>';//带进表格
foreach($students as $val){
    if($val[2]===true){
        $val[2]='男';
    }
    else{
        $val[2]='女';
    }
    echo "<tr><td>{$val[0]}</td><td>{$val[1]}</td><td>{$val[2]}</td><td>{$val[3]}</td></tr>";
}
echo'</table>';
?>

可得
在这里插入图片描述

预定义超全局数组的变量

已经定义好了(存在)的变量(存放的数据的类型是数据)
超全局:超级全局变量,作用域(有效区域)!
转换至如下!

传递数据(提交数据)给服务器端的两种方式

GET方式(比较小,不太安全)

至如下
比如:?参数名=参数值&参数名=参数值…
在服务器端(请求PHP文件)这边可以通过 G E T 来获取到, _GET来获取到, GET来获取到,_GET索引值为参数名,索引对应的数据就是参数值。

POST方式

比如表单可以通过POST发送过来,可以通过$_POST来获取!

处理数值的相关函数

简单写一下,由于博客已经发布,,,(我没上传,丢了)

array_count_values()统计数组中所有数出现的个数

<?php 
$array = array(1,3,3,"txt",3);
print_r(array_count_values($array));

在这里插入图片描述

array_key_exists查找键名

<?php 
$array = array(1=>3,'3'=>"txt");
var_dump(array_key_exists('3',$array)); 

在这里插入图片描述

array_search()与查找数值中的数类似,除了比较值,还会比较类型

<?php 
$array = array('1'=>1,'3'=>"txt");
var_dump(array_search('1',$array,true)); 

在这里插入图片描述
若去掉true表示结果与 array_count_values()类似

<?php 
$array = array(1=>1,'3'=>"txt");
var_dump(array_search('1',$array,true)); 

在这里插入图片描述

count统计数值中的数

<?php 
$array = array('1'=>1,'3'=>"txt");
var_dump(count($array)); 

在这里插入图片描述

in_array检查数值中是否出现某个数(返回对或者错)

<?php 
$array = array('1'=>1,'3'=>"txt");
var_dump(in_array(1,$array)); 

与上类似加true,可比较类型
在这里插入图片描述

list把数值中的值赋给变量

<?php 
$arr = array(1,2,4);
list($a,$b,$c)=array(1,2,4);
echo $a; 

在这里插入图片描述
注意顺序,反正我的不是从右往左

<?php 
list($a[],$a[],$a[])=array(1,2,4);//从右往左
print_r($a);

assort对数排序

<?php 
$arr=array('hn'=>1,'hdd'=>8,'vv'=>2,'hd'=>4);//从右往左
asort($arr);
print_r($arr);

在这里插入图片描述

array_filter用回调函数过滤数组的单元

在这里插入图片描述

这莫可爱(让我摸摸的)小猫咪…要官宣一下!

请添加图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值