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 卡座等,板子已经可以跑起来了。 但是发现串口乱码,今天就来解决串口乱码问…...
3个超简单步骤:零门槛制作专业级AI视频
3个超简单步骤:零门槛制作专业级AI视频 【免费下载链接】Open-Sora Open-Sora:为所有人实现高效视频制作 项目地址: https://gitcode.com/GitHub_Trending/op/Open-Sora 在数字内容创作领域,AI视频生成技术正以前所未有的速度改变着创…...
为什么企业还在用有漏洞的Weblogic?CVE-2019-2725背后的升级困境与临时解决方案
企业级Weblogic漏洞管理:CVE-2019-2725的实战应对策略 当安全团队第37次在周报中标注"Weblogic CVE-2019-2725漏洞亟待修复"时,某金融企业的CTO看着测试环境里崩溃的支付网关系统,默默将升级计划表又往后推了一周。这不是个案——据…...
Hunyuan-MT-7B应用实践:出版社AI辅助审校系统——中英日韩多语对照翻译
Hunyuan-MT-7B应用实践:出版社AI辅助审校系统——中英日韩多语对照翻译 1. 项目背景与需求 在全球化出版时代,出版社经常需要处理多语言内容的翻译和审校工作。传统的人工翻译流程存在效率低、成本高、一致性差等问题,特别是当中英日韩等多…...
毫米波雷达(AWR1864)二、从零到一:SDK配置与固件刷写实战
1. 毫米波雷达开发环境搭建全攻略 第一次接触AWR1864毫米波雷达开发板时,最让人头疼的就是软件环境的配置。记得我刚开始用这块板子的时候,光是为了让开发板识别出来就折腾了大半天。这里给大家分享一个Windows系统下的完整配置方案,帮你避开…...
手把手教学:如何在本地运行ChatGLM3-6B对话模型
手把手教学:如何在本地运行ChatGLM3-6B对话模型 1. 项目简介 你是否曾经遇到过这样的情况:想用AI助手帮忙写代码、分析文档或者只是聊聊天,但云端服务要么响应慢,要么担心隐私泄露?今天我要介绍的ChatGLM3-6B本地部署…...
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景 在音乐制作和音频工程领域,滤波器是塑造声音的核心工具之一。无论是调整均衡、消除噪声还是创造特殊音效,都离不开对IIR和FIR这两类滤波器的深入理解。许多刚入门的音频工程师常常困惑…...
日程管理革命:OpenClaw解析Qwen3.5-9B生成的待办清单并同步日历
日程管理革命:OpenClaw解析Qwen3.5-9B生成的待办清单并同步日历 1. 为什么需要智能日程管理 每天早上打开电脑,我的第一件事就是对着记事本手忙脚乱地整理当天的待办事项。这种原始的工作方式持续了三年,直到我发现会议时间冲突、任务遗漏成…...
C#的readonly struct:不可变值类型的性能优势
在C#开发中,值类型的性能优化一直是开发者关注的焦点。readonly struct作为不可变值类型,不仅能够保证线程安全,还能带来显著的性能优势。本文将深入探讨readonly struct的设计原理及其在性能优化中的独特价值,帮助开发者更好地利…...
TSMaster实战:基于UDS BootLoader的ECU刷写上位机开发指南
1. TSMaster与UDS BootLoader刷写基础 第一次接触汽车电子刷写的朋友可能会被一堆术语搞晕,让我用最直白的方式解释:ECU就像汽车里的小电脑,BootLoader是它的"恢复模式",而UDS协议就是和它对话的语言。TSMaster这个国产…...
CatBoost实战指南:从算法原理到工业级应用优化
1. CatBoost为什么成为工业界的宠儿? 第一次接触CatBoost是在处理一个电商用户行为预测项目时。当时数据集里充斥着用户ID、商品类别、地域信息这类类别型特征,用XGBoost和LightGBM处理总感觉差点意思。直到尝试了CatBoost,预测效果直接提升了…...
