PHP入门(6)PHP数组

数据就是一组数据的集合。数组的每个元素由两部分组成 键和值。

PHP中的数组名必须用$开头 第一个字符必须是字母或者下划线,不能用数字开头。

例如

$array1 = array("joedlut"=>12,"samshit"=>14,"gotohell"=>15);

注意,同一个程序中,标量变量和数组变量不能重名。

数组名区分大小写

PHP中创建数组的方法:

通过array()函数

array array(mixed...)

$array1 = array("JAVA" => "java","PHP"=>"php","C++"=>‘c++‘);
print $array1["JAVA"];//通过索引下标打印数组的某个元素
print_r($array1);

PHP中数组的类型:

数字索引数组(使用数组作为键)  和 关联数组(使用字符串作为键)

输出数组:注意,是输出整个数组的结构(感觉没什么用)

使用print_r($array_name) 或者var_dump($array_name)

print_r($array1);
var_dump($array1);

如何遍历数组?

使用foreach

foreach($array1 as $key => $value){
    print "$key -------$value"."<br>";
}

如何获取数组元素的个数

int count(mixed array)

echo count($array1); //3

合并数组

array array_merge(array array1,array array2....)//如果两个数组的字符串键名相同,那么后者会覆盖前面的值。对于数字键名相同的值来说则不会覆盖

array array_merge_recursive(array1,array2,array3....)//不同于上者,两个字符串键名相同的元素的值不会被覆盖。字符串键名相同的元素会组成一个新的数组作为元素存储

$array1 = array("JAVA"=>"JAVA 实战开发","PHP"=>"PHP从入门到精通");
$array2 = array("JAVA"=>"JAVA 从入门到精通","C++"=>"C++从入门到精通");
$array3 = array_merge($array1,$array2);
$array4 = array_merge_recursive($array1,$array2);
print_r($array3);
print_r($array4);

将字符串转换为数组

array explode(string separator,string string);

$str = "joe,sam,shit";
$array = explode(",",str);//
print_r($array);

将数组转为字符串

$array = array("joe","sam","shit");
$str = implode(" ",$array);
print $str;

对数字索引数组进行排序

bool sort(array &array,int sort_flags)//升序

bool sort(array &array,int sort_flags)//降序

sort_flags的种类

SORT_NUMERIC  作为数值进行排序

SORT_REGULAR  采用普通方式进行排序(不改变其类型) 默认

SORT_STRING   作为字符串进行排序

$array = array(90,23,345,12,-12,34);
sort($array);//传入的是引用,原来数组的值被改变
print_r($array);

对关联数组进行排序

int ksort(array array,int sort_flags);//对关联数组的索引值进行排序

int asort(array array,int sort_flags);//对数组的元素值进行排序 升序

int arsort(array array,int sort_flags);//降序

$array2 = array("java"=>12,"php"=>8,"c++"=>"23");
ksort($array2);
print_r($array2);
echo "<br>";
asort($array2);
print_r($array2);
echo "<br>";
arsort($array2);
print_r($array2);

时间: 2024-11-06 06:53:46

PHP入门(6)PHP数组的相关文章

C语言入门基础之数组——数学和编程的完美结合(图)

C语言入门基础之数组--数学和编程的完美结合(图)姐姐又来更新了,刚刚过完周末,是不是玩的很开心啊,放松后我们来学习新知识吧!现在我们要讲数组啦,编程往往和数学紧密联系着,想必在我们高中有学习过集合吧.那么在编程中我们怎么表示集合呢?刚学编程的小可爱可能学到变量时候发现,如果我需要用很多变量存储同意作用的值,需要大量的变量.现在让小姐姐给你介绍下二维数组吧,小可爱可要认真学了哦!记得给小姐姐点赞,?( ′???` )比心大家都玩抖音吧,我们每个人都有一个抖音号,我们还会关注一些小姐姐的抖音号,那

poj3624 01背包入门 dp+滚动数组

poj3624 01背包 dp+滚动数组 Charm Bracelet Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 25458   Accepted: 11455 Description Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fill it with the bes

(一)C++入门——指针与数组——Expression: _CrtIsValidHeapPointer(Block)

最近在入门c++,在看<c++ Primer Plus>一书.书中P106提到,删除使用New创建的数组时,是将指针重新指到第一个元素后,再进行的删除操作.代码如下: int *ptest = new int[3]; ptest[0]=1; ptest[1]=2; ptest[2]=3; cout<<"*ptest "<<*ptest<<endl; ptest = ptest+1;//此时指针指向第二个元素,也即:ptest[1] cou

awk入门及awk数组相关实战

知识点: l 记录与字段 l 模式匹配:模式与动作 l 基本的awk执行过程 l awk常用内置变量(预定义变量) l awk数组(工作常用) l awk语法:循环.条件 l awk常用函数 l 向awk传递参数 l awk引用shell变量 l awk小程序及调试思路 [[email protected] ~]# awk --version|head -1 GNU Awk 3.1.7 第1章 记录和字段 record记录==行, field字段相当于列,字段==列. awk对每个要处理的输入数

C++ Primer快速入门之六:数组和指针

更新:勘误,delete [] 猪 我们知道,C语言以及早期的面向结构的语言几乎都支持数组定义,比如整形数组int 女神[2],表示有俩数: 女神[0], 女神[1],她们都是整数.C++ 语言为了效率和兼容考虑,也支持这个.当然了,毕竟是别人家的孩子(标准),并不提供类似于 vector 和迭代器类型那些神奇的能力.与 vector的区别在于,数组的长度是固定的.另外呢,指 针还是那个指针,没有变化. ? 我们编程时候,尽量使用 vector,避免使用数组和指针.有了vector和她的iter

ES6入门概览二--数组

一 数组 1. Array.from() 将两类对象转为真的数组 : 类似数组的对象(伪数组,如arguments.document.getElementsByTagNames等)和可遍历对象(包括ES6新增的Set Map) --ES5,伪数组转为真正的数组 Array.prototype.slice().call(fakeArray)   Array.from()的另一个应用是将字符串转为数组 2. Array.of()  将一组值转换为数组 弥补数组构造函数Array()的不足 3. 数组

C#入门学习之数组

一 数组 1一维数组 //统计每一个学生成绩并计算全班10人的平均成绩,然后把所有成绩显示出来 double[] score = new double[10]; double sum = 0; for (int i = 0; i < 10; i++) { Console.WriteLine("请输入学生成绩:"); score[i] = Convert.ToDouble(Console.ReadLine()); sum+=score[i]; } Console.Clear();/

C++ Primer高速入门之六:数组和指针

更新:勘误,delete [] 猪 我们知道,C语言以及早期的面向结构的语言差点儿都支持数组定义.比方整形数组int 女神[2].表示有俩数: 女神[0], 女神[1].她们都是整数. C++ 语言为了效率和兼容考虑,也支持这个. 当然了,毕竟是别人家的孩子(标准).并不提供类似于 vector 和迭代器类型那些奇妙的能力.与 vector的差别在于.数组的长度是固定的.另外呢,指 针还是那个指针,没有变化. ? 我们编程时候.尽量使用 vector,避免使用数组和指针.有了vector和她的i

matlab入门 元胞数组

B{1,1}=[1,2]; B{1,2}='kitty'; B B = [1x2 double]    'kitty' celldisp(B) B{1} = 1     2 B{2} = kitty 可以看到,元胞数组就是能包含不同变量类型的数组,每一个元素又是一个数组 想要与数值数组相互转化 A=magic(3); num2cell(A,[1,3]) %[1,3][3,1] [3x1 double]    [3x1 double]    [3x1 double] cell2num(A)

c++入门之内置数组和array比较

array是C++11中新提出来的容器类型,与内置数组相比,array是一种更容易使用,更加安全的数组类型,可以用来替代内置数组.作为数组的升级版,继承了数组最基本的特性,也融入了很多容器操作,下面介绍array和内置数组. array和数组一样,是一种固定大小的容器类型,在定义的时候就要声明大小和类型. 定义和初始化: 数组的初始化有两种:默认初始化和列表初始化 int arr[10]; //10个值为0的int型整数 int arr[5]={1,2,3,4,5}; int arr[]={1,