php总结4——数组的定义及函数、冒泡排序
4.1 数组的定义
数组:变量存储的有序序列。
索引数组:下标为数字的数组。 $数组名称(下标) 下标从0开始的数字。
直接定义: $arr[0]=123;
$arr[1]="china";
$arr[2]="helloworld"
print_r($数组) 打印数组易于理解的信息,其实就是打印数组的结构
count($数组) 打印数组元素个数
用array关键字定义:$arr=array(123,"china","helloworld");
关联数组:下标是字符串的数组。
直接定义:$arr["one"]="中国";
$arr["test"]="法国";
用array关键字定义:$arr=array("one"=>"中国";"test"=>"法国");
二维数组:
格式:$arr=array(
array("zhangsan",18,"man");
array("lisi",20,"women");
array("wangwu",16,"man");
array("zhaoliu",25,"women");
);
引用方式:$arr[第一维元素下标][第二维元素下标]
4.2 foreach循环 遍历数组
格式:foreach(数组名称 as $key=>$val){
循环体;
}
$key 依次遍历数组的下标
$val 依次遍历数组的值
4.3 数组函数
explode array explode(string $separator, string $string) 使用一个字符串分割另一个字符串
join string join(string $flag, array $array); 将数组元素用flag连接起来。 等同于implode函数
array_values array array_values(array $input) 返回数组中所有元素的值组成的索引数组
array_keys array array_keys(array $input) 返回数组中所有键名组成的索引数组
array_pop mixed array_pop(array $array) 剪切出数组中最后一个元素的值
list void list(mixed $varname, mixed $...) 把数组中的值赋给对应的变量 对索引数组有用,对关联数组无效
next 下一个元素
prev 上一个元素
end 最后一个元素
in_array bool array(mixed $needle, array $haystack) 检查某个元素在不在数组中
array_reverse array array_reverse(array $array) 翻转数组元素
面试常见题:冒泡排序
$arr=array(168,44,88,5,32,85,999);
for($i=0;$i<count($arr);$i++){
for($j=$i+1;$j<count($arr);$j++){
if($arr[$i]<$arr[$j]){
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp; } }
}
print_r($arr);
php总结4——数组的定义及函数、冒泡排序的更多相关文章
- Vue 数组封装和组件data定义为函数一些猜测
数组封装 var vm={ list:[0,1] } var push=vm.list.push;//把数组原来的方法存起来 vm.list.push=function(arg){//重新定义数组的 ...
- typedef的使用3——使用经过typedef定义的函数构成的函数数组
#include <stdio.h> #include <string.h>//不加还能跑,加上反而跑不了了...笑哭 #pragma warning(disable:4996 ...
- 【C语言入门教程】7.2 结构体数组的定义和引用
7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...
- C语言指针与数组的定义与声明易错分析
部分摘自<C语言深度解剖> 1.定义为数组,声明为指针 在文件1中定义: char a[100]; 在文件2中声明: extern char *a; //这样是错误的 这里的extern告 ...
- PHP学习之数组的定义和填充
数组就是把一组数据按顺序放在一起.PHP的数组和其它的语言数组有一点点不同:第一,保存的数据是可以是任何类型的:第二,数组的索引可以是数字,也可以是字符串. PHP的数组,说白了,就是关联数据每一条数 ...
- JAVA数组的定义及用法
数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; ...
- 《More Effective C++》 条款5 谨慎定义类型转换函数
---恢复内容开始--- C++编译器能够在两种数据类型之间进行隐式转换(implicit conversions),它继承了C语言的转换方法,例如允许把char隐式转换为int和从short隐式转换 ...
- C语言中的声明解析规则——数组,指针与函数
摘要:C语言的申明存在的最大问题是:你无法以一种人们所习惯的自然方式和从左向右阅读一个声明,在引入voliatile和const关键字以后,情况更加糟糕了.由于这些关键字只能出现在声明中,是的声明形式 ...
- javascript 数组的常用操作函数
join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为“,”). 与之相反的一个方法是:Stri ...
随机推荐
- Data structure basics - Java Implementation
Stack & Queue Implementations FixedCapacityQueue package cn.edu.tsinghua.stat.mid_term; import j ...
- composer update/require slow when enable XDebug in CLI environment
Recently I find there will be some issue to use composer command, which seems too slow to finish. Af ...
- wireshark学习笔记
之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS. 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包. 记得大学的 ...
- iOS升级经验分享
作者认为,及时关注.快速反应.覆盖测试是面对iOS系统升级时最重要的三大原则,文中还详细分析了iCloud Storage和Automatic Reference Counting这两大iOS 5新特 ...
- dedecms中的模版不解析dede:global
先安装dedecms,配置好各项内容,栏目,网站内容等. 最近在使用dedecms做后台开发一个手机网站的项目,前端设计都是用html5来设计.很多地方都需要使用dede:global标签来调取全局变 ...
- Mac搭建python环境
1 安装xcode 2 安装 brew ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mast ...
- 推荐一个好的数据库工具Embarcadero DBArtisan
最近的项目中用到了DB2数据库,由于DB2数据库客户端在操作操作和控制方面不是很方便,如存储过程的编写.后来我们在数据库的操作都转在DBArtisan上了,最新版好像是8.12. 下面介 ...
- python核心编程学习(第三版)之网络编程
套接字 套接字是计算机网络数据结构.在任何类型的通信开始之前,网络应用程序必须创建套接字. 有两种类型的套接字,基于文件和面向网络的. unix套接字是第一个家族,AF_UNIX代表地址家族,缩写AF ...
- windows核心编程 DLL技术 【转】
注:本文章转载于网络,源地址为:http://blog.csdn.net/ithzhang/article/details/7051558 本篇文章将介绍DLL显式链接的过程和模块基地址重定位及模块绑 ...
- 数据结构之---C语言实现图的数组(邻接矩阵)存储表示
//图的数组(邻接矩阵)存储表示 #include <stdio.h> #include <stdlib.h> #define MAX_VEX_NUM 50 typedef c ...