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 ...
随机推荐
- POJ 3249 Test for Job (dfs + dp)
题目链接:http://poj.org/problem?id=3249 题意: 给你一个DAG图,问你入度为0的点到出度为0的点的最长路是多少 思路: 记忆化搜索,注意v[i]可以是负的,所以初始值要 ...
- Assembly.CreateInstance和Activator.CreateInstance
本来是在设计模式中的工厂方法,在实现抽象工厂时,用到了一直都不熟悉的反射. namespace Factory { public abstract class Factory { public abs ...
- DesignSurface简介
The Perfect Host: Create And Host Custom Designers With The .NET Framework 2.0 Dinesh Chandnani - 三月 ...
- Command terminated by signal 11
Command terminated by signal 11可能的情况之中的一个是数组越界.你在訪问不被同意的内存空间.
- PGM图片格式与代码
这两天在搞神经网络,里面的一个人脸数据库的图片格式是PGM,事实上之前早就知道了这个图片格式,可是没去深究这个图片格式的数据究竟是什么安排的.搜索了下百度百科,发现介绍的真是简单,以下就自己来系统地整 ...
- PHP执行linux系统命令
本文是第一篇,讲述如何在PHP中执行系统命令从而实现一些特殊的目的,比如监控服务器负载,重启MySQL.更新SVN.重启Apache等.第二篇<PHP监控linux服务器负载>:http: ...
- nginx的优点
Linux.MySQL.PHP这些框架的优点之前已经介绍过,LNMP和LAMP不同的一点就是Web服务器Nginx,那么Nginx相比Apache有什么优点呢? Nginx是一个小巧而高效的Linux ...
- vue v-for与v-if组合使用
当它们处于同一节点,v-for 的优先级比 v-if 更高,这意味着 v-if 将分别重复运行于每个 v-for 循环中.当你想为仅有的_一些_项渲染节点时,这种优先级的机制会十分有用,如下: < ...
- 【Excle数据透视表】如何显示/隐藏数据透视表字段列表
在创建完毕的数据透视表中,若单击数据透视表中任意单元格,即可显示数据透视表字段列表窗格,用户就可以通过弹出的窗格进行字段调整 两种情况需要隐藏数据数据透视表窗格 ①数据透视表已经完成 ②失误关闭窗格 ...
- Redis闲谈(1):构建知识图谱
场景:Redis面试 (图片来源于网络) 面试官: 我看到你的简历上说你熟练使用Redis,那么你讲一下Redis是干嘛用的? 小明: (心中窃喜,Redis不就是缓存吗?)Redis主要用作缓存,通 ...