PHP8创建数组-PHP8知识详解

在php 8中,您可以使用以下方法创建数组:使用数组字面量创建数组、使用 array() 函数创建数组、通过赋值的方式创建数组、使用array_push()函数将元素添加到数组末尾、使用range()函数创建数值数组、使用compact()函数创建带有变量名的数组、使用array_fill()创建数组、使用array_fill_keys()函数创建数组。

Image

1、使用数组字面量创建数组

使用数组字面量创建数组,这个是最简单的创建方法了,语法如下:

$名称 = []

使用数组字面量创建数组,参考代码:

<?php
$a = ['php', 'mysql', 'html'];
echo "<pre>";
print_r($a);
?>

以上代码在PHP8中的运行结果为:

Array
([0] => php[1] => mysql[2] => html
)

2、使用 array() 函数创建数组

使用 array() 函数创建一个新的数组,该数组接受任意数量用逗号分隔的键(key)=>值(value)对,语法格式如下:

array(key => value,……)

使用 array() 函数创建数组,参考代码:

<?php
$array = array('html','css','javascript','php','mysql');
echo "<pre>";
print_r($array);
?>

以上代码在PHP8中,运行的结果为:

Array
([0] => html[1] => css[2] => javascript[3] => php[4] => mysql
)

3、通过赋值的方式创建数组

我们可以通过赋值的方式直接创建数组,语法格式如下:

$名字[索引值] = 值;

其中索引值(下标)可以是一个字符串或一个整数,并且下标需要使用[ ]包裹。

声明一个索引数组时,如果索引值是递增的,我们也可以不在方括号内指定具体的索引值,这时索引值默认从 0 开始依次增加。

通过赋值的方式创建数组,参考代码如下:

<?php
$s[] = 'html';
$s[] = 'css';
$s[] = 'javascript';
$s[] = 'php';
$s[] = 'mysql';
echo "<pre>";
print_r($s);
?>

以上代码在PHP8中的运行结果为:

Array
([0] => html[1] => css[2] => javascript[3] => php[4] => mysql
)

4、使用array_push()函数将元素添加到数组末尾

参考代码:

<?php
$array = [];  
array_push($array, "html");  
array_push($array, "css");  
array_push($array, "php");  
// 可以继续添加更多元素
echo "<pre>";
print_r($array);
?>

在PHP8中的运行结果为:

Array
([0] => html[1] => css[2] => php
)

5、使用range()函数创建数值数组

使用range()函数创建数值数组,示范代码:

<?php
$n = range(1, 5);
echo "<pre>";
print_r($n);
?>

以上代码在PHP8中的运行结果为:

Array
([0] => 1[1] => 2[2] => 3[3] => 4[4] => 5
)

6、使用compact()函数创建带有变量名的数组:

<?php
$name = '张三';
$age = 30;
$person = compact('name', 'age');
echo "<pre>";
print_r($person);
?>

以上代码在PHP8中的运行结果为:

Array
([name] => 张三[age] => 30
)

7、使用array_fill()创建数组

使用array_fill():会以填充键值的方式来创建一个新数组,语法格式:

array_fill($index, $number, $value)

参考代码:

<?php
$a=array_fill(0,5,"php");
echo "<pre>";
var_dump($a);
?>

函数接受3个不可省略的参数$index(起始索引)、$number(填充元素数量)和$value(用于填充的键值)。

其中,$index参数支持负值,数组索引有以下三种取值情况:

如果为正数,则数组索引从$index值开始,到$index+$number-1值结束。例$index为2,$number为5,则数组索引为:2、3、4、5/6。

如果为0,则数组索引从0开始,到$number-1值结束。例$index为0,$number为5,则数组索引为:0、1、2、3、4。

如果为负数,则数组索引由 $index,0,1,2, ...,$number-2 组成。例$index为-2,$number为5,则数组索引为:-2、-1、0、1、2。

在上例中,array_fill(0,5,"php")的$index为0(索引从0开始)、$number为5(数组有五个元素),因此数组索引为:0、1、2、3、4;而$value为php,则这四个元素的键值都为php。

以上代码在PHP8中的运行结果为:

array(5) {[0]=>string(3) "php"[1]=>string(3) "php"[2]=>string(3) "php"[3]=>string(3) "php"[4]=>string(3) "php"
}

8、使用array_fill_keys()函数创建数组

array_fill_keys():会以填充键名和键值的方式来创建一个新数组

<?php
$keys=array("a","b","c","d");
$a=array_fill_keys($keys,"php");
echo "<pre>";
var_dump($a);
?>

array_fill_keys($keys,$value)函数接受2个不可省略的参数$keys(包含填充键名的一个数组)、$value(填充键值)。

简单来说,array_fill_keys()函数会使用$keys数组中元素作为键名,$value作为值来填充出一个新数组。

从上面的代码示例可以看出:新数组有四个元素,键名分别为“a”、“b”、“c”、“d”;这四个元素的键值都为“php”,因此在PHP8中输出结果为:

array(4) {["a"]=>string(3) "php"["b"]=>string(3) "php"["c"]=>string(3) "php"["d"]=>string(3) "php"
}

好了,今天讲解的使用数组字面量创建数组、使用 array() 函数创建数组、通过赋值的方式创建数组、使用array_push()函数将元素添加到数组末尾、使用range()函数创建数值数组、使用compact()函数创建带有变量名的数组、使用array_fill()创建数组、使用array_fill_keys()函数创建数组就讲解完毕了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/120507.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于PyTorch的交通标志目标检测系统

一、开发环境 Windows 10PyCharm 2021.3.2Python 3.7PyTorch 1.7.0 二、制作交通标志数据集&#xff0c;如下图 三、配置好数据集的地址&#xff0c;然后开始训练 python train.py --data traffic_data.yaml --cfg traffic_yolov5s.yaml --weights pretrained/yolov5s.pt --e…

深入理解线段树

大家好&#xff0c;我是 方圆。线段树&#xff08;Segment Tree&#xff09; 是常用的维护 区间信息 的数据结构&#xff0c;它可以在 O(logn) 的时间复杂度下实现单点修改、区间修改、区间查询&#xff08;区间求和、区间最大值或区间最小值&#xff09;等操作&#xff0c;常用…

发生OOM时JVM会退出吗

程序是否退出和发生 OOM 无关 需要明确&#xff0c;程序是否退出和发生 OOM 无关&#xff0c;而和当前是否还有存活的非守护线程有关。 只要还有运行中的子线程&#xff0c;即使 main 线程结束或异常崩溃了&#xff0c;程序也不会停止。 public class TestThreadRun {privat…

Ubuntu下Python3与Python2相互切换

参考文章&#xff1a;https://blog.csdn.net/Nicolas_shen/article/details/124144931 设置优先级 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 200

Spring Cloud--从零开始搭建微服务基础环境【四】

&#x1f600;前言 本篇博文是关于Spring Cloud–从零开始搭建微服务基础环境【四】&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;…

vue前端解决跨域

1,首先 axios请求&#xff0c;看后端接口路径&#xff0c;http://122.226.146.110:25002/api/xx/ResxxList&#xff0c;所以baseURL地址改成 ‘/api’ let setAxios originAxios.create({baseURL: /api, //这里要改掉timeout: 20000 // request timeout}); export default s…

LeetCode41.缺失的第一个正数

看到题目难度是hard的时候我就想先写半个小时试试看&#xff0c;如果没思路就看题解&#xff0c;没想到我就写了10来分钟就给通过了&#xff0c;通过的时候我都不敢相信&#xff0c;我感觉我是走了后门的&#xff0c;因为我用了 Arrays.sort()方法&#xff0c;他的时间复杂度是…

【云原生】容器编排工具Kubernetes

目录 一、 K8S介绍 官网地址&#xff1a; 1.1docker编排与k8s编排相比 1.2特性 1.3功能 二、K8S重要组件 2.1核心组件 &#xff08;1&#xff09;Kube-apiserver &#xff08;2&#xff09;Kube-controller-manager &#xff08;3&#xff09;Kube-scheduler &#x…

基于亚马逊云科技打造的游戏AIGC专业版,创梦天地快速上线AI生图服务

生成式人工智能&#xff08;以下简称“生成式AI”&#xff09;的热潮正在全球范围内掀起新一轮的科技革命&#xff0c;释放出巨大的商业价值。各类“AI绘画神器”的涌现&#xff0c;为创意行业带来了翻天覆地的变化。 在游戏领域&#xff0c;生成式AI技术也吸引了玩家们的广泛关…

AJAX学习笔记5同步与异步理解

AJAX学习笔记4解决乱码问题_biubiubiu0706的博客-CSDN博客 示例 前端代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>演示AJAX同步和异步</title> </head> <body> <script…

长胜证券:中特估一带一路央国企将见底反转加速

三季度开始龙头成绩将回转加快向上。(1)2022年第三季度基数环比下降&#xff0c;如2022第2/3单季度成绩增速:我国中铁14%/5%、我邦交建10%/-9%、我国铁建8%/-5%、我国中冶14%/-29%、我国化学50%/11%、北方世界38%/-50%、中工世界80%/20%。(2)在手订单增速高于收入增速&#xff…

如何实现MongoDB数据的快速迁移?

作为一种Schema Free文档数据库&#xff0c;MongoDB因其灵活的数据模型&#xff0c;支撑业务快速迭代研发&#xff0c;广受开发者欢迎并被广泛使用。在企业使用MongoDB承载应用的过程中&#xff0c;会因为业务上云/跨云/下云/跨机房迁移/跨地域迁移、或数据库版本升级、数据库整…

2023年下半年广州/深圳软考(中/高级)认证报名,当然弘博创新

软考是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资格考试。 系统集成…

桌面平台层安全随手记录

声明 本文是学习桌面云安全技术要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 桌面平台层安全 桌面接入安全 用户标识 一般要求 本项要求包括&#xff1a; a) 系统应为用户提供唯一的身份标识&#xff0c;同时将用户的身份标识与该用户的所…

css 文字单行多行超出长度后显示 ...

0.超出… 1、单行文本超出 <div class"content">测试数据&#xff1a;css单行文本超出显示省略号--------</div><style> .content{width: 200px;height: 200px;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;-o-text-overflow:el…

AP51656 PWM和线性调光 LED车灯电源驱动IC 兼容替代PT4115 PT4205

产品描述 AP51656是一款连续电感电流导通模式的降压恒流源 用于驱动一颗或多颗串联LED 输入电压范围从 5V 到 60V&#xff0c;输出电流 可达 1.5A 。根据不同的输入电压和 外部器件&#xff0c; 可以驱动高达数十瓦的 LED。 内置功率开关&#xff0c;采用高端电流采样设置 …

【mybatis-plus】多数据源切换[dynamic-datasource] 手动切换数据源

Springbootmybatis-plusdynamic-datasourceDruid 手动切换数据源 文章目录 Springbootmybatis-plusdynamic-datasourceDruid 手动切换数据源0.前言1. 多数据源核心类浅析1. 1. DynamicDataSourceContextHolder切换数据源核心类1.2. DynamicRoutingDataSource 2.基于核心类的理解…

在windows 安装JDK17 指南

一、下载jdk 去oracle官网下载jdk压缩包&#xff0c; 下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#java17 二、解压jdk 将下载好的jdk压缩包&#xff0c;解压到要安装jdk的路径&#xff08;不要有中文&#xff09;&#xff0c; 三、配置环…

电商平台api对接货源

如今&#xff0c;电商平台已经成为了人们购物的主要途径之一。 然而&#xff0c;对于电商平台来说&#xff0c;货源对接一直是一个比较棘手的问题。为了解决这个问题&#xff0c;越来越多的电商平台开始使用API来对接货源。 API&#xff0c;即应用程序接口&#xff0c;是一种允…

ubuntu 22.04安装cuda、cudnn、conda、pytorch

1、cuda 视频连接 https://www.bilibili.com/video/BV1bW4y197Mo/?spm_id_from333.999.0.0&vd_source3b42b36e44d271f58e90f86679d77db7cuda 11.8 https://developer.nvidia.com/cuda-toolkit-archive点击进入 https://developer.nvidia.com/cuda-11-8-0-download-arc…