PHP入门(四)
1.数组
1. array() 函数用于创建数组
在 PHP 中,有三种类型的数组:数值数组 - 带有数字 ID 键的数组 关联数组 - 带有指定的键的数组,每个键关联一个值 多维数组 - 包含一个或多个数组的数组
1.1数值数组:
这里有两种创建数值数组的方法:
1.1.1 自动分配 ID 键(ID 键总是从 0 开始):如:$cars = array("liang", "Tuhua", "hertmit");
1.1.2 人工分配 ID 键:如:$cars[0]="liang"; $cars[1]="Tuhua"; $cars[2]="hermit";
2.获取数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素的数量)
如:
<?php
$cars[0] = "liang";
$cars[1] = "tu";
$cars[2] = "hua";
echo count($cars); //输出3
?>
遍历数组,依然可以使用for循环来遍历出来,如:
<?php
$cars[0] = "liang";
$cars[1] = "tu";
$cars[2] = "hua";
echo count($cars);
echo '<br/>';
$hua = count($cars);
for($a = 0; $a < $hua; $a++){
echo $cars[$a];
}
?>
3.关联数组
关联数组是使用您分配给数组的指定的键的数组。这里有两种创建关联数组的方法:
3.1 $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
3.2 $age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43";
例:
<?php
$age = array("alis" => "18", "blis" => "25", "clis" => "9");
echo '小明的年龄是' . $age[alis] . '岁<br/>' . '大军的年龄是' . $age[blis] . '岁<br/>' . '宝宝的年龄是' . $age[clis] . '岁';
?>
上面两种方法创建的关联数组都是一样的。使用方法也是一样的。
4.遍历关联数组
遍历并打印关联数组中的所有值,您可以使用 foreach 循环
例:
<?php
$age = array("alis" => "18", "blis" => "25", "clis" => "9");
echo '小明的年龄是' . $age[alis] . '岁<br/>' . '大军的年龄是' . $age[blis] . '岁<br/>' . '宝宝的年龄是' . $age[clis] . '岁<br/>';
foreach($age as $x=>$x_value){
echo "key:" . $x . "<==>value:" . $x_value;
echo '<br/>';
}
?>
5.数组排序
数组中的元素可以按字母或数字顺序进行降序或升序排列。
5.1 数组排序函数
5.1.1 sort() - 对数组进行升序排列:
<?php
$arrays = array('liang', 'tuhua', 'hermit', 8);
sort($arrays); //将数组元素进行升序排列
print_r($arrays);
?>

5.1.2 rsort() - 对数组进行降序排列
<?php
$nub = array(4, 8, 5, 3, 14, 7, 2);
rsort($nub);
foreach($nub as $i=>$i_value){
echo $i_value . '<br/>';
}
?>

5.1.3 asort() - 根据关联数组的值,对数组进行升序排列
<?php
$gyqy = array('liang' => '48', 'tu' => '24', 'hua' => '85', 'herm' => '16');
asort($gyqy);//根据数组的值,对数组进行升序排列
foreach($gyqy as $i=>$i_value){
echo $i_value . '<br/>';
}
?>

5.1.4 ksort() - 根据关联数组的键,对数组进行升序排列
<?php
$gyqys = array('liang' => '48', 'tu' => '24', 'ahua' => '85', 'herm' => '16');
ksort($gyqys);//根据数组的键,对数组进行升序排列
foreach($gyqys as $k=>$k_value){
echo $k . ' ' . $k_value . '<br/>';
}
?>

5.1.5 arsort() - 根据关联数组的值,对数组进行降序排列
<?php
$gyqy = array('liang' => '48', 'tu' => '24', 'hua' => '85', 'herm' => '16');
arsort($gyqy);//根据数组的值,对数组进行降序排列
foreach($gyqy as $i=>$i_value){
echo $i_value . '<br/>';
}
?>

5.1.6 krsort() - 根据关联数组的键,对数组进行降序排列
<?php
$gyqys = array('liang' => '48', 'tu' => '24', 'ahua' => '85', 'herm' => '16');
krsort($gyqys);//根据数组的键,对数组进行降序排列
foreach($gyqys as $k=>$k_value){
echo $k . ' ' . $k_value . '<br/>';
}
?>

PHP入门(四)的更多相关文章
- 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战
概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo. 当前由于NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能. ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- Swift语法基础入门四(构造函数, 懒加载)
Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...
- Thinkphp入门 四 —布局、缓存、系统变量 (48)
原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调 ...
- DevExpress XtraReports 入门四 创建 Web 报表
原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...
- 微服务(入门四):identityServer的简单使用(客户端授权)
IdentityServer简介(摘自Identity官网) IdentityServer是将符合规范的OpenID Connect和OAuth 2.0端点添加到任意ASP.NET核心应用程序的中间件 ...
- Spring Boot入门(四):开发Web Api接口常用注解总结
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的 ...
- 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...
- Python爬虫入门四之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- C#基础入门 四
C#基础入门 四 方法参数 值参数:不附加任何修饰符: 输出参数:以out修饰符声明,可以返回一个或多个给调用者: 如果想要一个方法返回多个值,可以用输出参数来处理,输出参数由out关键字标识,如st ...
随机推荐
- Python学习之线程
8.5 线程 进程:开辟空间,加载数据,资源单位 线程:流水线,执行代码,执行单位 8.5.1 线程的概念 是操作系统能够进行运算调度的最小单位,线程包含在进程中,是进程中的执行单元,一个进程至少包含 ...
- js 数组去重方法总结
var arr = [1, 1, 'true', 'true', true, true, 15, 15, false, false, undefined, undefined, null, null, ...
- 【神经网络与深度学习】Caffe训练执行时爆出的Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type
自己建立一个工程,希望调用libcaffe.lib ,各种配置好,也能成功编译,但是运行就会遇到报错 F0519 14:54:12.494139 14504 layer_factory.hpp:77] ...
- 【FFMPEG】网络流媒体协议
目录(?)[-] RTP RTCP SRTP SRTCP RTSP RTSP 和RTP的关系 SDP RTMPRTMPS mms HLS RTP 参考文档 RFC3550/RFC3 ...
- 【电子电路技术】短波红外InGaAs探测器简析
核心提示: 红外线是波长介于微波与可见光之间的电磁波,波长在0.75-1000μm之间,其在军事.通讯.探测.医疗等方面有广泛的应用.目前对红外线的分类还没有统一的标准,各个专业根据应用的需要,有着自 ...
- 软件设计分为结构化设计(SD)
软件设计分为结构化设计(SD)与面向对象设计(OOD). 其中结构化设计SD是一种面向数据流的方法,它以SRS(软件需求规格说明书)和SA(结构化分析)阶段所产生的和数据字典等文档为基础,是一个自顶向 ...
- mysql8无法用navicat连接(mysql8加密方式的坑)
关键词:mysql8无法用navicat连接,navicat无法连接mysql8,mysql8,mysql8的加密方式 [1]mysql8 的坑 密码加密规则 在MySQL 8.0.以上版本中,cac ...
- 洛谷 P3368 树状数组 题解
题面 本题随便看两眼就知道该题满足了优美的查分性质: 对于在区间[x,y]内操作时,应该将查分数组的第x项和第y+1项进行相反操作: 询问答案时,问第i个数的值就是查分数组的前i项和: 暴力+玄学卡常 ...
- springboot2.0国际化
springboot2.0配合thymeleaf实现页面国际化 1. 引入thymeleaf <?xml version="1.0" encoding="UTF-8 ...
- 常用的PHP函数封装,有排序和数据库操作函数
//二分查找 function bin_sch($array, $low, $high, $k) { if ($low <= $high) { $mid = intval(($low + $hi ...