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 ...
随机推荐
- Codeforces 583 DIV2 Asphalting Roads 模拟
原题链接:http://codeforces.com/problemset/problem/583/A 题意: 很迷很迷,表示没看懂..但是你看样例就秒懂了 题解: 照着样例模拟就好 代码: #inc ...
- Codeforces 734C [水][暴力][贪心]
题意: 要生产n个物品,每个花费时间为x. 有两种魔法,每种最多使用1个. 其中第一种魔法可以使每个物品生产的花费时间变为ai,相应的花费是bi;第二种魔法可以减少ci个物品,相应的花费是di,并且保 ...
- apache mina框架
http://blog.csdn.net/ljx8928358/article/details/7759024
- smartsvn学习(-)
3. Day-to-day use 3.1 Everyday commands Most of the common commands you will need are in the SmartSV ...
- 动态设置表格[GridView]在编辑时 只读。
找到GridView的CellEditorInitalize事件. protected void agv_main_CellEditorInitialize(object sender, ASPxGr ...
- git-ssh配置和使用
https://segmentfault.com/a/1190000002645623 1.设置Git的user name和email:(如果是第一次的话) $ git config --global ...
- 修改linux iptable规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)-A INPUT -m state --sta ...
- C++测试题练习题1
1.which of the following is not automatically generated by the compiler? a. default constructor b ...
- 传输层:UDP 协议
一.传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP 数据报首部就标明了这两台主机的 IP 地址.但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此, ...
- JAVA使用外部字体将文字生成图片,并使用FontMetrics居中文字
需求: 1.用户输入文字,根据外部字体,将文字生成图片 2.输出的文字需要居中在图片中显示 遇到的问题: 1.如何导入外部字体?使用Java的Font类,所有的字体都是系统安装过的 2.每次用户输入的 ...