php数组
php数组是什么?
可以使用单个变量名存储多个不同类型的数据的特殊变量,这就是php数组。
php数组就是一个特殊的变量,它允许存储多个任意类型的数据。
创建数组
php数组有两种类型,分为索引数组和关联数组。
创建数组的方法有三种,分为有[]的、无[]的、有=>的三种创建方法。
索引数组:变量的“编号”是数,整数不具备一定的语义。
关联数组:变量的"编号”用字符中表示,可以具备一定的语义。
键:key,存储数组中,是变量的“编号”,索引数组的编号默认从0开始。
值:value,存储数组中,变量的值,由用户自定义创建。
php数组可以储存任意类型的数据,php会自动识别。
键key就是数组中元素的编号,值value是元素的数值。
索引数组和关联数组的不同在于键的不同,索引数组的键是数字,关联数组的键可以用字符,具备一定的含义。
下面代码中单引号和双引号都代表字符型,如布尔型数值true无单引号会输出1来代表男,有单引号会输出true。
var_dump代表输出数据类型和数值。
索引数组的创建:
创建一个索引数组,存储xiu用户的姓名,性别,年龄和成绩,并输出
<?php$name="xiu";
$sex=true;
$age= 18;
$score= 99.9;
$stu1[]=$name;
$stu1[]=$sex;
$stu1[]=$age;
$stu1[]=$score;var_dump($stu1);
?>
或:
用array创建一个包含xiu的姓名,性别,年龄和成绩的索引数组,无[]即无键,会默认从0分配数字作为键,非array创建时必须写[],负责会作为变量覆盖。
<?php
$stu1=array("xiu",true,18,99.9);
var_dump($stu1);
?>
关联数组的创建:
创建一个关联数组,存储xiu用户的姓名,性别,年龄和成绩,并输出
<?php$stu1['name']="xiu";
$stu1['sex']=true;
$stu1['age']=18;
$stu1['score'] = 99.9;var_dump($stu1);
?>
输出结果:
array(4) { [“name”]=> string(3) “xiu” [“sex”]=> bool(true) [“age”]=> int(18) [“score”]=> float(99.9) }
或:
array创建一个关联数组,存储xiu用户的姓名,性别,年龄和成绩,并输出
<?php
$stu1=array("name"=>"xiu","sex"=>true,"age"=>"18","score"=>"99.9");
print_r($stu1);
?>
或:
<?php
$stu1 = array(
'name' => 'xiu',
'sex' => true,
'age' => 24,
'score' => 99.9
);
print_r($stu1);
?>
输出结果:
Array ( [name] => xiu [sex] => 1 [age] => 24 [score] => 99.9 )
print_r与echo类似,不同的是,在输出布尔类型true的时候是1,false为空。
for循环遍历打印数组
由于print_r和echo都不能只输出php数组中的数据,而安全人员需要查看数据中是否有恶意数据,所以需要for循环来打印数组数据,需要注意的是,简单的for循环只能打印键为数字的数组,也就是索引数组,如果要打印键为字符的数组数据,需要更复杂的循环。
<?php
$stu1=array("xiu",true,18,99.9);
for($i=0;$i<4;$i++){
echo $stu1[$i];
echo "<br \>";
}
?>
输出结果:
xiu
1
18
99.9
foreach遍历打印数组
foreach语句将遍历数组array,每次循环时,将当前数组中的值赋给value(或者k e y 和 key和key和value),同时,数组指针向后移动直到遍历结束。当使用foreach语句时,数组指针将自动被重置,所以不需要手动设置指针位置。
仅输出value:
<?php
$stu1 = array(
'name' => 'xiu',
'sex' => true,
'age' => 24,
'score' => 99.9
);
foreach ($stu1 as $v) {echo $v."<br />";
}
?>
输出结果:
xiu
1
24
99.9
输出key=value:
<?php
$stu1 = array(
'name' => 'xiu',
'sex' => true,
'age' => 24,
'score' => 99.9
);
foreach ($stu1 as $k => $v) {
echo $k. "=". $v. "<br />";
}?>
输出结果:
name=xiu
sex=1
age=24
score=99.9
相关文章:
php数组
php数组是什么? 可以使用单个变量名存储多个不同类型的数据的特殊变量,这就是php数组。 php数组就是一个特殊的变量,它允许存储多个任意类型的数据。 创建数组 php数组有两种类型,分为索引数组和关联数组。 创建数组的方法有三种…...
构造不包含字母和数字的webshell
构造不包含字母和数字的webshell <?php echo "A"^""; ?> 输出的结果是字符"!“。之所以会得到这样的结果,是因为代码中对字符"A"和字符”"进行了异或操作。在PHP中,两个变量进行异或时,…...
中国大学生服务外包创新创业大赛丨借 AI 之力,助“记账”难题
一、中国大学生服务外包创新创业大赛 赛事介绍 中国大学生服务外包创新创业大赛,是响应国家关于鼓励服务外包产业发展、加强服务外包人才培养的相关战略举措与号召,举办的每年一届的全国性竞赛。 大赛均由中华人民共和国教育部、中华人民共和国商务部…...
MacOS 安装Redis并设置密码
在开发过程中,需要本地进行安装Redis进行测试,记录了下MacOS环境下安装Redis,以及设置密码。 Brew 安装 $ brew install redis启动服务 # 启动服务 brew services start redis # 关闭服务 brew services stop redis # 重启服务 brew servic…...
函数的参数作为引用
文章目录 1. num,list ,tuple2. list 作为默认值导致共享同一列表3. 防御可变参数4. 结论 1. num,list ,tuple 结论:num ,tuple 作为参数,自身不会因为函数的原因而改变,list 为可变量,会因为函数变而变。 测试 def f(a, b):a …...
【文化课学习笔记】【化学】非金属及其化合物
【化学】必修一:非金属及其化合物 硅及其化合物 硅单质 物理性质 单晶硅的结构与金刚石类似,为正四面体的立体网状结构。晶体中每个硅原子与其他四个硅原子相连接。\(1\mathrm{mol}\) 硅单质还有 \(\mathrm{2N_A}\) 个 \(\mathrm{Si-Si}\) 键;…...
Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三)
文章目录 Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三)前情提要客户端部分 Unity进阶–通过PhotonServer实现联网登录注册功能(客户端)–PhotonServer(三) 前情提要 单例泛型类 using System.Collections; using System.Collections.Generic; …...
步步向前,曙光已现:百度的大模型之路
大模型,是今年全球科技界最火热,最耀眼的关键词。在几个月的狂飙突进中,全球主要科技公司纷纷加入了大模型领域。中国AI产业更是开启了被戏称为“百模大战”的盛况。 但喧嚣与热闹之后,新的问题也随之而来:大模型的力量…...
常见的 Python 错误及其解决方案
此文整理了一些常见的 Python 错误及其解决方案。 1、SyntaxError: invalid syntax 说明:无效的语法是最常见的错误之一,通常是由于编写代码时违反了 Python 的语法规则。可能的原因: 忘记在 if、while、for 等语句后写冒号,或者…...
文章评论以及回复评论邮件通知(Go 搭建 qiucode.cn 之八)
要说到评论。无疑是博客应用的灵魂所在了,它也正是站长与博友、博友与博友之间互相交流的桥梁,倘若少了它,博客应用将变得暗淡无关,索然无味,恍如一具躺在床榻上的植物人,终究是无法与周边人言语的。 也正是有了评论,站长在该博客应用所发表的博文,博友才得以通过评论,…...
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
目录 基本介绍 有什么不同?? ArrayList的扩容机制 ArrayLIst的基本使用 ArrayList和Vector 基本介绍 还记得我们的java集合框架吗, 我们来复习一下, 如图: 可以看出来 ArrayList和LinkedList 都是具体类, 他们都是接口List的实现类. 但是他们底层的逻辑是不同的, 相信…...
matlab 点云最小二乘拟合空间直线(方法一)
目录 一、算法原理1、空间直线2、最小二乘法拟合二、代码实现三、结果展示四、可视化参考本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、空间直线 x...
详解junit
目录 1.概述 2.断言 3.常用注解 3.1.Test 3.2.Before 3.3.After 3.4.BeforeClass 3.5.AfterClass 4.异常测试 5.超时测试 6.参数化测试 1.概述 什么是单元测试: 单元测试,是针对最小的功能单元编写测试代码,在JAVA中最小的功能单…...
Nginx的安装及负载均衡搭建
一.Nginx的安装 1)准备安装环境 yum install -y make gcc gcc-c pcre-devel pcre zlib zlib-devel openssl openssl-develPERE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。 nginx的http模块使用pcre来解…...
JVM学习笔记(一)
1. JVM快速入门 从面试开始: 请谈谈你对JVM 的理解?java8 的虚拟机有什么更新? 什么是OOM ?什么是StackOverflowError?有哪些方法分析? JVM 的常用参数调优你知道哪些? 内存快照抓取和MAT分…...
fastjson 序列化问题:Comparison method violates its general contract
fastjson 序列化问题:Comparison method violates its general contract 问题重现 今天在测试接口的时候,调用了Mybatis Plus 分页查询的接口,然后将查询的结果转换成 Json字符串的形式,结果报了这个错误: java.lang.…...
Angular安全专辑之二——‘unsafe-eval’不是以下内容安全策略中允许的脚本源
一:错误出现 这个错误的意思是,拒绝将字符串评估为 JavaScript,因为‘unsafe-eval’不是以下内容安全策略中允许的脚本源。 二:错误场景 testEval() {const data eval("var sum2 new Function(a, b, return a b); sum2(em…...
十一、Linux用户及用户组的权限信息如何查看?如何修改?什么是权限的数字序号?
目录: 1、认知权限信息 2、rwx? (1)总括: (2)r权限: (3)w权限: (4)x权限: 3、修改权限 (1&a…...
ahooks.js:一款强大的React Hooks库及其API使用教程(二)
一、ahooks.js简介二、ahooks.js安装三、继续ahooks.js API的介绍与使用教程21. useLocalStorageState22. useSessionStorageState23. useClickAway24. usePersistFn25. useCreation26. useFullscreen27. useInViewport28. useInfiniteScroll29. usePagination30. useDynamicLi…...
ARM 配置晶振频率
文章目录 前言串口乱码问题定位内核修改晶振频率uboot 修改晶振频率番外篇 前言 上篇文章《ARM DIY 硬件调试》介绍了 DIY ARM 板的基础硬件焊接,包括电源、SOC、SD 卡座等,板子已经可以跑起来了。 但是发现串口乱码,今天就来解决串口乱码问…...
基于CircuitPython与RP2350的嵌入式多声道音频系统设计与实践
1. 项目概述:用CircuitPython打造你的专属交互式音频系统如果你玩过树莓派Pico或者Adafruit的Feather系列开发板,可能会觉得在微控制器上处理音频是件挺麻烦的事——要么得用专门的解码芯片,要么代码复杂得让人头疼。但最近我在一个互动艺术装…...
网络出口IP管理工具ipman:原理、使用与实战指南
1. 项目概述与核心价值最近在折腾网络工具和代理配置时,发现了一个挺有意思的开源项目,叫twisker/ipman。乍一看这个名字,可能会联想到IP地址管理,但实际上,它的定位更偏向于一个轻量级的、用于在特定网络环境下管理和…...
注意力机制新思路:拆解CoordAttention,看它如何用两个1D全局池搞定“位置+通道”信息
注意力机制新思路:拆解CoordAttention,看它如何用两个1D全局池搞定“位置通道”信息 在计算机视觉领域,注意力机制已经成为提升模型性能的关键组件。传统的通道注意力机制(如SE模块)虽然能有效建模通道间关系ÿ…...
别再死记硬背参数了!用Amesim HCD库手把手教你搭建一个真实的溢流阀模型(附避坑指南)
从物理本质出发:用Amesim HCD库构建高保真溢流阀模型的实践指南 液压系统工程师常常陷入一个困境:软件操作熟练,参数设置却总凭感觉;仿真结果看似合理,却与物理直觉相悖。这种"黑箱式"建模不仅限制了问题排…...
coding 为什么成为模型前沿主战场
coding 会被推到模型前沿,不奇怪。它可能是少数同时满足三件事的场景:答案能被机器验收,任务能自然拉长,做出来的东西马上能进入真实工作流。 写作文、写报告、做营销文案也有价值,可这些任务的好坏很难稳定判分。代码…...
3个创新视角:重新定义AMD平台内存监控的新范式
3个创新视角:重新定义AMD平台内存监控的新范式 【免费下载链接】ZenTimings 项目地址: https://gitcode.com/gh_mirrors/ze/ZenTimings 在AMD Ryzen平台的性能调优领域,内存时序监控一直是个技术门槛较高的领域。传统监控工具往往停留在表面参数…...
从零开始设计千兆交换机:基于RTL8367S/SC芯片的硬件开发包获取与核心电路设计要点
从零开始设计千兆交换机:基于RTL8367S/SC芯片的硬件开发包获取与核心电路设计要点 在当今高速网络设备开发领域,千兆交换机作为基础网络设施的核心组件,其性能与稳定性直接决定了整个网络系统的表现。对于硬件工程师而言,基于RTL8…...
工业 DC-DC 设计|钡特电源 DF2-05S05LS 与 F0505S-2WR3 封装互通硬件适配分析
在工业控制、智能传感及嵌入式设备研发中,小功率隔离直流电源模块是板级供电的核心单元,直接影响系统稳定性与长期运行成本。硬件工程师选型时,需重点关注参数匹配、封装适配、环境耐受性及性价比,而钡特电源 DF2-05S05LS 与 F050…...
懒人必备!OpenClaw 汉化版一键配置上手教程
一、Windows 11 安装 OpenClaw 必看说明 OpenClaw(国内用户昵称"小龙虾")是一款广受欢迎的开源本地AI助手,GitHub星标数已超28万。它集成了多项实用功能:电脑自动操控、智能文件管理、浏览器自动化以及办公流程自动化等…...
SpringBatch学习
/*** 示例一:Tasklet 方式*/ Configuration EnableBatchProcessing public class TaskletBatchConfig {private static final Logger logger LoggerFactory.getLogger(TaskletBatchConfig.class);Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredp…...
