PHP编程“数组”的基础知识

PHP编程语言手册大全 本文还有配套的精品资源,点击获取 简介:《PHP手册》提供了涵盖PHP语言核心概念、语法和函数的详尽内容,是所有PHP开发者的宝贵资源。手册电子版"php-manual.pdf"包含了超过1000页的信息,内容包括基础语法、字符串与数组操作、文件系统操作、数据库交互、错误与异常处理、网络编程、面向对象编程、日期和时间处理、国际化与本地化、扩展与自定义函数、安全性和性能优化等... 阅读详情
  关于数组:
  PHP中的数组是复杂的,并且比许多其他高级语言中的数组更灵活。
  数组array是一组有序的变量,其中每个变量被叫做一个元素。
  数组可以被编号或者相关联,也就是数组的元素可以分别根据数字索引或文本化字符串来访问
  PHP中,数组可以包含标量(整数,布尔,字符串,浮点数)或复合值(对象甚至其他数组),并且可以包含不同类型的值
  1。创建数组
  PHP提供创建数组的array()语言结构
  $numbers = array(5,4,3,2,1);
  $words = array("web","database","application");
  echo $numbers[2];
  echo $words[0];
  ---------------------输出结果----------------------------------------
  3web
  ---------------------------------------------------------------------
  默认情况下,数组的第一个元素的索引为0。数组中包含的值可以通过使用方括号[]语法来检索和修改
  $numbers[5] = 0;
  数字化索引的数组可以创建位从任何索引值开始
  $numbers = array(1=>"one","two","three","four");
  也可以松散的索引
  $numbers = array(1=>"one",3=>"three",5=>"zero");
  可以通过给变量赋予一个没有参数的array()来创建空数组。然后可以通过使用方括号[]语法来添加值
  $error = array();
  $error[] = "no error!!!";
  $error[] = "second error!!!";
  echo $error[0];
  echo $error[1];
  ---------------------输出结果----------------------------------------
  no error!!!second error!!!
  ---------------------------------------------------------------------
  2.关联数组
  关联数组(associative array)使用字符串索引(或键)来访问存储在数组中的值
  关联索引的数组对于数据库层交互非常有用
  $newarray = array("first"=>1,"second"=>2,"third"=>3);
  echo $newarray["second"];
  $newarray["third"]=5;
  echo $newarray["third"];
  ---------------------输出结果----------------------------------------
  25
  ---------------------------------------------------------------------
  3.异构数组
  PHP数组可以包含不同种类的值
  $mixedBag = array("cat",42,8.5,false);
  var_dump(mixedBag);
  4.多维数组
  创建包含数组的数组,数组维数没有限制,但是一般很难想象一个多于三维的数组的用法
  $planets = array(array("MM",1,2),array("NN",3,4),array("BB",5,6),array("VV",7,8));
  print $planets[2][0];
  $planets2 = array("MM"=>array("AA"=>1,"SS"=>2),
  "NN"=>array("DD"=>3,"FF"=>4),
  "BB"=>array("GG"=>6,"HH"=>7,"PP"=>array("haha!!!!")),
  "VV"=>array("JJ"=>6,"KK"=>7,"LL"=>array("one","two")));
  print $planets2["VV"]["LL"][0];
  ---------------------输出结果----------------------------------------
  BBone
  ---------------------------------------------------------------------
  5.使用循环访问数组
  遍历数组的方法有很多(使用while,for循环)或者foreach语句,最容易的是foreach 语句
  $length = array(0,107,202,400,475);
  //将厘米转换为寸
  for($i=0;$i<5;$i++)
  {
  echo ($length[$i]/3);
  }
  $j=0;
  while(isset($length[$j]))
  {
  echo ($length[$j]/3);
  $j++;
  }
  foreach($length as $cm)
  {
  echo ($cm/3);
  }
  ---------------------输出结果----------------------------------------
  0
  35.6666666667
  67.3333333333
  133.333333333
  158.333333333
  0
  35.6666666667
  67.3333333333
  133.333333333
  158.333333333
  0
  35.6666666667
  67.3333333333
  133.333333333
  158.333333333
  ---------------------------------------------------------------------
  foreach还可以迭代关联数组的值
  $sound = array("cow"=>"moo","dog"=>"woof",
  "pig"=>"oink","duck"=>"quack");
  foreach ($sound as $animal=>$noice)
  {
  echo "$animal 得叫声是这样的 $noice $noice......";
  }
  ---------------------输出结果----------------------------------------
  cow 的叫声是这样的 moo moo......
  dog 的叫声是这样的 woof woof......
  pig 的叫声是这样的 oink oink......
  duck 的叫声是这样的 quack quack......
  ---------------------------------------------------------------------
  6.使用数组指针
  与存储在数组中的键和关联值一起,PHP还拥有一个指向数组当前元素的内部索引,
  有几个函数使用并更新该数组索引来提供对数组元素的访问
  $a = array("a","b","c","d","e","f");
  echo current($a);
  each($a);
  key($a);//目前数组的指针,返回其索引
  echo current($a);//当前元素的值
  each($a);//返回当前元素的值并将内部索引指向下一个元素
  each($a);
  echo current($a);
  next($a);//指向下一个元素
  echo current($a);
  prev($a);//指向上一个元素
  echo current($a);
  end($a);//指向最后一个元素
  echo current($a);
  key($a);
  echo current($a);
  ---------------------输出结果----------------------------------------
  abdedff
  ---------------------------------------------------------------------
  7.基本的数组函数
  integer count(mixed var)//在数组中返回元素的个数,也可用于任何的变量
  number max(array numbers)//返回数组中的最大值
  number min(array numbers)//返回数组中的最小值
  boolean in_array(mixed needle,array haystack[,bollean strict])//查找数组中的值,第三个参数可选,强制执行类型检查
  mixed array_search(mixed needle,array haystack[,boolean strict])//返回 键 而不是布尔值,
  找不到时返回false,找到的元素如果正好是第一个元素,则返回0,而PHP会自动转化为false所以需要使用===判断,如下
  $a = array("a","b","c","d","e","f");
  $index = array_search("a",$a);
  if($index === false)
  echo "在数组a中未发现字符'a'";
  else
  echo "Index = $index";
  ---------------------输出结果----------------------------------------
  Index = 0
  ---------------------------------------------------------------------
  array array_reverse(array source[,bool preserve_keys])//逆转数组,生成一个新数组,可选参数为true时,保留索引和元素之间的关联
  $a = array("a","b","c","d","e","f");
  $newa = array_reverse($a);//直接翻转
  echo $newa[0];
  $newb = array_reverse($a,true);//依旧保留了索引和元素之间的关联
  echo $newb[0];
  ---------------------输出结果----------------------------------------
  fa
  ---------------------------------------------------------------------
  sort(array subject[,integer sort_flag])//根据 值 进行升序排列(在原数组中重新排列元素)
  rsort(array subject[,integer sort_flag])//根据 值 进行降序排列(在原数组中重新排列元素)
  可选参数可以指定为按数字方式SORT_NUMERIC还是字符串方式SORT_STRING或者通常的方式SORT_REGULAR排序
  sort()、rsort()可以用于关联数组,但是 键 将丢失
  asort(array subject[,integer sort_flag])//根据 值 进行升序排列(在原数组中重新排列元素),保持键值关联
  arsort(array subject[,integer sort_flag])//根据 值 进行降序排列(在原数组中重新排列元素),保持键值关联
  当asort() arsort()用于非关联数组时,元素按排序后的次序重新排列,但是访问元素的索引不改变
  integer ksort(ayyay subject [,integer sort_flag])//根据 键或索引 进行升序排列
  integer krsort(ayyay subject [,integer sort_flag])//根据 键或索引 进行降序排列
  usort(array subject, string compare_function)//根据用户定义排序,用户定义自己的排序规则函数,但函数必须符合
  uasort(array subject, string compare_function)//integer my_compare_function(mixed a, mixed b),a>b返回1,a uksort(array subject, string compare_function)//a等于b时返回0
  $numbers = array(16,3,2,171,5,24,6,19);
  sort($numbers);
  foreach($numbers as $n)
  echo $n." ";
  $numbers = array(16,3,2,171,5,24,6,19);
  rsort($numbers);
  foreach($numbers as $n)
  echo $n." ";
  $numbers = array(16,3,2,171,5,24,6,19);
  sort($numbers,SORT_STRING);
  foreach($numbers as $n)
  echo $n." ";
  $a = array("o"=>"kk","e"=>"zz","z"=>"hh","a"=>"rr");
  asort($a);
  foreach ($a as $keyname=>$keyvalue)
  echo $keyvalue;
  $a = array("o"=>"kk","e"=>"zz","z"=>"hh","a"=>"rr");
  ksort($a);
  foreach ($a as $keyname=>$keyvalue)
  echo $keyvalue;
  //基于长度比较两个字符串
  function cmp_length($a,$b)
  {
  if(strlen($a)   return -1;
  if(strlen($a) >strlen($b))
  return 1;
  return 0;
  }
  $animals = array("cow","ox","monkey","mimi");
  usort($animals,"cmp_length");
  foreach($animals as $an)
  echo $an;
  ---------------------输出结果----------------------------------------
  2 3 5 6 16 19 24 171 171 24 19 16 6 5 3 2 16 171 19 2 24 3 5 6 hhkkrrzzrrzzkkhhoxcowmimimonkey
  ---------------------------------------------------------------------
  array_merge($a,$b)//组合数组,个人认为是比较有趣的函数之一,从两个数组生成一个数组,具有相同 键 的值会被覆盖
  ////////////////////////////代码部分////////////////////////////////////////
  $a = array("name"=>"zhangsan",10,100);
  $b = array("name"=>"lisi",4,6,8);
  $c = array_merge($a,$b);
  var_dump($c);
  //////////////////////////////////////////////////////////////////////////
  ---------------------输出结果----------------------------------------
  array(6) { ["name"]=> string(4) "lisi" [0]=> int(10) [1]=> int(100) [2]=> int(4) [3]=> int(6) [4]=> int(8) }
  ---------------------------------------------------------------------
  array array_combine(array $a,array $b)//a数组的值为新数组的键,b数组的值为新数组的值,数组长度不同时,返回false
  ////////////////////////////代码部分////////////////////////////////////////
  $a = array("name","math","china");
  $b = array("zhangsan",4,6);
  $c = array_combine($a,$b);
  var_dump($c);
  //////////////////////////////////////////////////////////////////////////
  ---------------------输出结果----------------------------------------
  array(3) { ["name"]=> string(8) "zhangsan" ["math"]=> int(4) ["china"]=> int(6) }
  ---------------------------------------------------------------------

本文转自
http://www.phpchina.com/html/200711/n16480.html
道路场景分割:车道线、可行驶区域与路沿检测 道路场景分割:车道线、可行驶区域与路沿检测​ ,人工智能,计算机视觉,大模型,AI,文章围绕道路场景分割展开,涵盖车道线、可行驶区域与路沿检测。介绍了基本概念、重要性,各部分检测的类型、方法、难点及解决思路,还涉及技术融合、数据集、评价指标、发展趋势、应用案例、代码示例、不同天气处理、实际问题与方案、实现流程、相关技术工具、教育研究应用、产业前景、伦理安全问题及学习资源等,全面阐述了道路场景分割的多方面内容,为相关学习和研究提供了丰富信息。 阅读详情

相关推荐

网络工程师的Python入门实战:手把手教你写交换机配置备份脚本

本文详细介绍了如何利用Python为网络工程师开发一个高效的交换机配置备份脚本,涵盖环境搭建、设备连接方案、智能设备发现、多因素认证、异常处理、配置差异对比等关键步骤。通过实战案例展示如何将备份时间从4小时缩短至15分钟,显著提升运维效率,特别适用于华为交换机等设备的配置导出与备份需求。

weixin_30291791的博客 305

PHP编程中“数组”的基础知识

PHP中的数组是复杂的,并且比许多其他高级语言中的数组更灵活。数组array是一组有序的变量,其中每个变量被叫做一个元素。数组可以被编号或者相关联,也就是数组的元素可以分别根据数字索引或文本化字符串来访问PHP中,数组可以包含标量(整数,布尔,字符串,浮点数)或复合值(对象甚至其他数组),并且可以包含不同类型的值1。创建数组PHP提供创建数组的array()语言结构$numbers = arra

1255

DELL SC存储扩容避坑指南:6Gb vs 12Gb扩展柜混插的真相

本文深入解析DELL SC存储扩容中6Gb与12Gb扩展柜混插的核心规则与性能影响。文章指出,从SCOS 7.3版本起允许混插,但整个SAS环路速率将降至最低设备水平,尤其在12Gb控制器上接入6Gb扩展柜会严重拖累性能。指南提供了清晰的兼容性矩阵、实战操作流程及关键避坑清单,帮助管理员安全、高效地完成存储扩容。

weixin_28314575的博客 459

php获取数组第一个元素的几种方法

1:array_shift();//弹出数组第一个元素举例$a=array('new','hello','cool');$new=array_shift($a);$new是第一个元素值,取最后一个元素可以用array_pop(),这种操作会改变原数组的内容2:array_slice();//截取数组举例:$a=array('new','hello','cool');$new=array_slice...

知识在于一点一点的积累 5万+

power bi 演唱会-佐罗

我是业务分析人员,注重使用性,因此,课程不到 30% 的内容就可以解决目前为止我碰到的所有业务问题,剩下的 70% 内容是帮助我提升,优化,升华,精益求精用的,比如第三方工具,比如代码运行速度优化,比如查询逻辑优化等等。系统性上来说,结构明晰,安排上非常有条理,层层递进;《BI 真经》,中有真经二字,略显夸大,而当我第一次证明了这点的时候,我也非常惊讶,这就是我做以下所有事情的一切动力。《BI 真经》综合考量思想性,系统性,本质性,创新性,通用性,技巧性,启发性,对比其他课程有压倒性的显著优势。

v_1090213742的博客 911

STM32-TIM4-定时器中断

#include "project.h" #include "timer.h" //TIM4_Init(2000 ,72);//定时2ms /* 定时器中断的定时时间设定 定时器只需要配置时钟、TIM和NVIC即可 */ void TIM4_Init(u16 period, u16 prescaler) { NVIC_InitTypeDef NVIC_InitStructure; TIM_...

snaygo 6204

php数组的下标默认从一开始,在PHP中数字索引数组的键由

【单选题】贝格曼规律是指在寒冷地区,同种恒温动物个体相对于其它地区小,而相对面积大,相对散热量多。【单选题】被称为“心灵感冒”的心理疾病是()【单选题】谷线,中文图纸中的表示【多选题】The following contents do NOT belong to paralanguage ______.【单选题】茜茜公主在希腊乡村呆了三个月肺结核治好了说明乡村旅游具有( )功能【多选题】普...

weixin_36356958的博客 708

深入LSM6DSL的FIFO连续模式:基于STM32和MEMS库的数据流高效处理指南

本文深入探讨了LSM6DSL的FIFO连续模式,结合STM32硬件平台和ST官方MEMS库,提供了高效的数据流处理方案。通过优化I2C通信时序、中断驱动设计以及动态ODR调整,实现低功耗数据采集与处理,显著提升嵌入式传感器应用的性能和续航能力。

weixin_30387799的博客 350

php 获取数组索引,PHP索引数组

PHP索引数组是一个数组,默认情况下由索引号表示。 数组的所有元素是由从0开始的索引号来表示的。PHP索引数组可以存储数字,字符串或任何对象。 PHP索引数组也称为数值数组。定义有两种方法来定义索引数组:第一种方式:$size=array("Big","Medium","Short");第二种方式:$size[0]="Big";$size[1]="Medium";$size[2]="Short";...

weixin_39609071的博客 1144

Python 爬虫实战:全球渔业船舶捕捞记录数据采集与分析全攻略

通过本项目,我们实现了对全球渔业船舶捕捞记录数据的采集、处理和可视化,为渔业资源管理和海洋生态保护提供了数据支持。未来,可以进一步结合机器学习和深度学习技术,对捕捞行为进行预测和分类,提高对非法捕捞活动的识别能力。

2201_76125261的博客 557

华为od 面试八股文_Android安卓_05_含答案

华为od 面试八股文_Android安卓_05_含答案

MISAYAONE的博客 951

java implode函数_PHP分割和合成字符串函数解析

分割字符串字符串的分割是通过explode()函数实现的。explode()函数按照指定的规则对一个字符串进行分割,返回值为数组。其语法格式如下:explode(separator,string,limit)函数的参数列表如下:参 数说 明separator必要参数,指定分割标识符。string必要参数,指定将要被进行分割的字符串limit可选参数,规定所返回的数组元素的数目说明:如...

weixin_31480911的博客 635

pi-coding-agent 完整详解

pi-coding-agent是一个由Mario Zechner开发的专业AI编程助手,基于Node.js和TypeScript构建。核心功能包括:1)多级思考模式(ThinkingLevel),从none到ultra控制推理深度;2)对话压缩(compaction)管理长对话记忆;3)WebSocket实时通信支持流式交互。该智能体支持代码生成、调试、重构等专业编程任务,采用AI Agent架构,具备工具调用和多轮记忆能力。项目结构通常包含server、agent、config等模块,可通过二次开发扩展功

大坡3D软件开发 2429

入门:PHP编程“数组”的基础知识

关于数组: PHP中的数组是复杂的,并且比许多其他高级语言中的数组更灵活。 数组array是一组有序的变量,其中每个变量被叫做一个元素。 数组可以被编号或者相关联,也就是数组的元素可以分别根据数字索引或文本化字符串来访问PHP中,数组可以包含标量(整数,布尔,字符串,浮点数)或复合值(对象甚至其他数组),并且可以包含不同类型的值 1。创建数组 PHP提供创建数组的array()

bingbingcha的专栏 734

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

「PHP系列」数组详解

在 PHP 中,数组是一种非常有用的数据结构,它允许你在一个单一的变量中存储多个值。这些值可以是任何数据类型,包括整数、字符串、浮点数、布尔值,甚至是其他数组(即多维数组)。PHP 中的数组是动态的,意味着数组的大小可以在运行时增加或减少。在 PHP 中,数组键可以是整数(索引数组)或字符串(关联数组)。通过学习和掌握 PHP 数组,你可以更有效地管理和操作存储在变量中的数据集合,从而提高代码的可读性和可维护性。PHP 也支持多维数组,即数组中的元素也可以是数组。函数来创建一个数组,或者使用短数组语法。

日常笔记/总结/系列知识梳理 3478

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

PHP编程中数组的基础知识

<br />关于数组:<br /><br />PHP中的数组是复杂的,并且比许多其他高级语言中的数组更灵活。<br /><br />数组array是一组有序的变量,其中每个变量被叫做一个元素。<br /><br />数组可以被编号或者相关联,也就是数组的元素可以分别根据数字索引或文本化字符串来访问<br /><br />PHP中,数组可以包含标量(整数,布尔,字符串,浮点数)或复合值(对象甚至其他数组),并且可以包含不同类型的值<br /><br />1。创建数组<br /><br />PHP提供创建数组的

保持一颗空杯的心态! 555

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

php基础知识5-数组

在学习了变量和常量之后,我们发现不管是变量和常量都只能存储一个数据。那么我们想象一个场景,假如一个学习小组有5位同学,我们要存储这5位同学的名字。不管是变量还是常量运用于这个场景都不太合适。这时候我们就引入了数组的概念。数组是一个能在单个变量中存储多个值的特殊变量。一般将一组相关的数据存储在一个数组中。

学长冷月的博客 1347

「PHP系列」PHP 多维数组详解

多维数组可以有任意数量的维度。例如,你可以创建一个三维数组,甚至更高维度的数组,但这通常会使代码更难理解和维护。在 PHP 中使用多维数组时,你可能会遇到一些常见的问题。在 PHP 中,多维数组是一个数组,其元素也是数组。或自定义逻辑来合并数组,使用循环和条件语句来重组数组。函数来删除元素,结合正确的索引或键来定位要删除的元素。你可以像操作普通数组一样添加和修改多维数组的元素。函数配合自定义的比较函数来对多维数组进行排序。你可以使用方括号和索引来访问多维数组的元素。函数来检查多维数组中的元素是否存在。

日常笔记/总结/系列知识梳理 1973

「PHP系列」PHP数组排序及运用场景

基本数据排序:当需要对一组数字或字母进行排序时,可以使用sort()或rsort()函数。例如,你可能有一个包含用户年龄的数组,并希望按照年龄从低到高或从高到低进行排序。 关联数组排序:如果数组包含键值对,并且你希望根据值或键进行排序,那么可以使用asort()、arsort()、ksort()或krsort()函数。例如,你可能有一个包含员工姓名和工资的数组,你希望根据工资对员工进行排序。 自定义排序:当标准的排序方式不满足需求时,可以使用usort()或uasort()函数,并提供自定义的比较函数。

日常笔记/总结/系列知识梳理 2107

php 数组转为php代码,php数组转成php编程代码,php数组编程代码

php数组转成php编程代码,php数组编程代码将php数组转成可以在php上面运行的编程代码,支持一维及多维数组//一维数组$test1 = array(1,2,3);//二维数组$test2[0] = array('id' => '1','name' => "儿童");$test2[1] = array('id' => '2','name' => "成人");$...

weixin_39951930的博客 303

PHP 中的数组:PHP 数组

在 PHP 中,数组是一种功能强大且常用的数据结构,可以在单个变量名称下存储值或元素的集合。数组可以包含多种数据类型,例如整数、字符串、浮点数,甚至其他数组,使其成为处理和操作数据的多功能工具。了解 PHP 中的数组对于任何想要高效处理数据集合的开发人员来说都是必不可少的。此外,PHP 提供了许多内置的数组函数,可用于以各种方式对数组数据进行排序、过滤和操作。

新华编程特战队 1345

PHP 多维数组

多维数组在PHP编程中是一个强大而灵活的工具,可以用于处理各种复杂的数据结构。通过理解多维数组的访问、修改、遍历以及高级操作,我们可以更加高效地处理数据,并编写出更加清晰、可维护和可扩展的代码。同时,结合函数式编程和面向对象编程的思想,我们可以进一步发挥多维数组的优势,构建出更加健壮和灵活的应用程序。

Python老吕的博客 1574

PHP编程基础知识速览

符号开始,后面跟着变量的名称。PHP没有声明变量的命令,变量在您第一次赋值给它的时候被创建。PHP是一门弱类型语言,会根据变量的值自动把变量转换为正确的数据类型。:标识符可以是任意长度,只能由字母、数字、下划线组成,且不能以数字开始。关键字是PHP语言中预定义的、具有特殊含义的标识符,如。:PHP支持多种数据类型,包括布尔类型、整数、浮点数、字符串、数组、对象等。:数组是PHP中最常用的数据结构之一,可以存储多个值,并使用键值对的方式进行索引。:PHP支持单行注释和多行注释。开始,而多行注释使用。

sa10027的博客 622
上一篇: 网站排名下降的主要原因
下一篇: 无限分类~~就这么简单!
simon803
博客等级 码龄20年 63粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值