PHP数组的定义、初始化和数组元素的显示实现代码


Posted in PHP onNovember 05, 2016

从ASP初入门到PHP,感觉到PHP的强大之一就是内置函数的丰富,比如先前学习的PHP日期时间函数,读写文件的相关函数等都无不表明了PHP的更专业、更令用户的使用得心应手。

一开始我对PHP函数的丰富功能很兴奋,随着对越来越多近乎变态多的函数接触之后,突然联想到了ASP内置函数的稀少,要完成某项特殊功能,常须自定义函数,随着应用的在增多,自己居然也有了一套常用的函数库。然而现在在PHP中,这些功能早已被标准化、规范化而浓缩为内置函数直接使用,曾经的ASP开发人员成为了PHP的普通用户。
但转念一想,这些函数、这些大量PHP函数的存在,至少说明了PHP的更专业;同时,在我们日常PHP程序处理时应该是很快捷易用的吧,这让开发人员不再为些基础功能、细节功能而去自定义函数,把主要的精力集中在组建更强大的程序模块上。所以,我更加坚定了一看PHP函数到底的信念,不过我想在以后的开发过程中,PHP函数手册应该属于随身书了。

当然,关于ASP和PHP孰优孰劣的争论就无需多讨论,学习并了解能让自己了解真相。

言正传,PHP函数太多,防止遗忘,所以每次看完一类函数后我都做个总结和收集工作,方便起见就写篇日志。

1,数组的定义和初始化

什么是数组?数组是一种编程结构,它是一个存储一组或一系列数值的变量。
比如人口普查时对个人的身份登记,如姓名、性别、民族、出生等就可作为数组。
PHP中创建数组使用array()结构来定义,比如:

$people=array('name','sex','nation','brith');

而如何显示数组中的各元素的值,我们则是使用从0开始的索引,索引号在变量名称后的方括号中,比如:

<?php
$people=array('name','sex','nation','birth');
echo $people[2];
?>

输出的$people[2]就是显示的是nation(索引第一项从0计数)。

PHP除了支持数字索引数组以外,还支持相关数组。所谓相关数组,就是可自定义关键字来替换不直观的数字索引,比如:

<?php
$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
echo $peoples['cs'];
?>

使用相关数组使得输出的选择很直观(不需要预先计算索引号然后输出),定义的关键字和值之间使用“=>”符号定义。

根据PHP数组元素的两种显示方式,还可以如变量一样无需array()声明和初始化,直接自动创建数字。比如

$people[0]='name';
$people[1]='sex';
$people[2]='nation';
$people[3]='brith';

或者

$peoples['xm']='name';
$peoples['xb']='sex';
$peoples['mz']='nation';
$peoples['cs']='birth';

该数组的大小根据所增加元素的多少动态的变化。

2,数组元素的显示

在如上使用的无论$people[2]也好,无论$peoples['cs']也好,都只是输出已知的明确位置的数组元素值,如何快速输出所有或部分的数组元素,使用循环语句无疑是最快的方法。

<?php
$people=array('name','sex','nation','birth');
for ($i=0;$i<4;$i++)
  echo "$people[$i] ";
?>

除了使用了解循环次数的for循环以外,还可以使用对循环次数无须要求的foreach语句。

<?php
$people=array('name','sex','nation','birth');
foreach($people as $xiangmu)
  echo $xiangmu;
?>

$xiangmu变量将保存数组中的各元素值,依次显示出来。当然,为了输出的数据能间隔区分,可在数组元素之后输出空格:
echo $xiangmu." ";
注:英文句号(.)可将字符串连接合并成新的字符串

PHP 相关文章推荐
Php Mssql操作简单封装支持存储过程
Dec 11 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 #PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 #PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 #PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 #PHP
PHP实现一个简单url路由功能实例
Nov 05 #PHP
浅谈php中的循环while、do...while、for、foreach四种循环
Nov 05 #PHP
php foreach如何跳出两层循环(详解)
Nov 05 #PHP
You might like
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
php购物车实现方法
2015/01/03 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
jQuery 技巧小结
2010/04/02 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
Django中URLconf和include()的协同工作方法
2015/07/20 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
python把转列表为集合的方法
2019/06/28 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
面包店的创业计划书范文
2014/01/16 职场文书
考试违纪检讨书
2014/02/02 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
家属慰问信
2015/02/14 职场文书
让子弹飞观后感
2015/06/11 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
使用pd.merge表连接出现多余行的问题解决
2022/06/16 Python