导航:首页 > 编程语言 > php数组实例

php数组实例

发布时间:2023-05-11 17:08:42

1. php-Array函数简介-数组操作-php实例教程

count()计算数组中的元素数目或对象中的属性个数。3current()返回数组中的当前元素。3each()返回数组中当前的键/值对并将数组指针向前移动一步。3end()将数组的内部指针指向最后一个元素。3extract()从数组中将变量导入到当前的符号表。3in_array()检查数组中是否存在指定的值。4key()从关联数组中取得键名。3krsort()对数组按照键名逆向排序。3ksort()对数组按照键名排序。3list()把数组中的值赋给一些变量。3natcasesort()用“自然排序”算法对数组进行不区分大小写字母的排序。4natsort()用“自然排序”算法对数组排序。4next()将数组中的内部指针向前移动一位。3pos()current()
的别名。3prev()将数组的内部指针倒回一位。3range()建立一个包含指定范围的元素的数组。3reset()将数组的内部指针指向第一个元素。3rsort()对数组逆向排序。3shuffle()把数组中的元素按随机顺序重新排列。3sizeof()count()
的别名。3sort()对数组排序。3uasort()使用用户自定义的比较函数对数组中的值进行排序并保持索引关联。3uksort()使用用户自定义的比较函数对数组中的键名进行排序。3usort()使用用户自定义的比较函数对数组中的值进行排序。3

2. PHP如何获取数组里元素的个数实例

//count() 函数返回数组中元素的数目。//也可以使用sizeof()//多维数组加参数1如:count($cars,1)可以递归统计$cars=array("Volvo","BMW","Toyota");echo count($cars);

3. php下将多个数组合并成一个数组的方法与实例代码

1.合并数组
array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:
复制代码
代码如下:
array
array_merge
(array
array1
array2…,arrayN)
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
实例如下:
复制代码
代码如下:
$face
=
array("J","Q","K","A");
$numbered
=
array("2","3","4","5","6","7","8","9");
$cards
=
array_merge($face,
$numbered);
shuffle($cards);
print_r($cards);
这将返回如下所示的结果,运行代码:
复制代码
代码如下:
Array
(
[0]
=>
A
[1]
=>
4
[2]
=>
9
[3]
=>
3
[4]
=>
K
[5]
=>
7
[6]
=>
5
[7]
=>
Q
[8]
=>
6
[9]
=>
8
[10]
=>
2
[11]
=>
J
)
2.递归追加数组
array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组.两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。还有一个数组合并的形式,就是递归追加数组。其形式为:
view
sourceprint?array
array_merge_recursive(
array
key,array
values
)
示例如下:
复制代码
代码如下:
$class1
=
array("John"
=>
100,
"James"
=>
85);
$class2
=
array("Micky"
=>
78,
"John"
=>
45);
$classScores
=
array_merge_recursive($class1,
$class2);
print_r($classScores);
这将返回如下结果:
view
sourceprint?Array
(
[John]
=>
Array
(
[0]
=>
100
[1]
=>
45
)
[James]
=>
85
[Micky]
=>
78
)
3.连接两个数组
array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。其形式为:
view
sourceprint?array
array_merge(array
array1,array
array2[…,array
arrayN])
注意,两个输入数组必须大小相同,不能为空。示例如下:
复制代码
代码如下:
$abbreviations
=
array("AL","AK","AZ","AR");
$states
=
array("Alabama","Alaska","Arizona","Arkansas");
$stateMap
=
array_combine($abbreviations,$states);
print_r($stateMap);
这会返回:
复制代码
代码如下:
Array
(
[AL]
=>
Alabama
[AK]
=>
Alaska
[AZ]
=>
Arizona
[AR]
=>
Arkansas
)

4. php数组的例子

php 中的数组类型有非常多的用途,因此这里有一些例子展示数组的完整威力。
<?php// this$a = array( 'color' => 'red', 'taste' => 'sweet', 'shape' => 'round', 'name' => 'apple', 4 // key will be 0 );// is completely equivalent with$a['color'] = 'red';$a['taste'] = 'sweet';$a['shape'] = 'round';$a['name'] = 'apple';$a[] = 4; // key will be 0$b[] = 'a';$b[] = 'b';$b[] = 'c';// will result in the array array(0 => 'a' , 1 => 'b' , 2 => 'c'),// or simply array('a', 'b', 'c')?>
例子 11-6. 使用 array()
<?php// Array as (property-)map$map = array( 'version' => 4, 'OS' => 'Linux', 'lang' => 'english', 'short_tags' => true );// strictly numerical keys$array = array( 7, 8, 0, 156, -10 );// this is the same as array(0 => 7, 1 => 8, ...)$switching = array( 10, // key = 0 5 => 6, 3 => 7, 'a' => 4, 11, // key = 6 (maximum of integer-indices was 5) '8' => 2, // key = 8 (integer!) '02' => 77, // key = '02' 0 => 12 // the value 10 will be overwritten by 12 );// empty array$empty = array();?>例子 11-7. 集合
<?php$colors = array('red', 'blue', 'green', 'yellow');foreach ($colors as $color) { echo Do you like $color?/n;}?>上例将输出: Do you like red?Do you like blue?Do you like green?Do you like yellow? 直接改变数组的值在 php 5 中可以通过引用传递来做到。之前的版本需要需要采取别的方法:
例子 11-8. 集合
<?php// php 5foreach ($colors as &$color) { $color = strtoupper($color);}unset($color); /* 确保下面对 $color 的覆盖不会影响到前一个数组单元 */// 之前版本的方法foreach ($colors as $key => $color) { $colors[$key] = strtoupper($color);}print_r($colors);?>上例将输出: Array( [0] => RED [1] => BLUE [2] => GREEN [3] => YELLOW) 本例产生一个基于一的数组。
例子 11-9. 基于一的数组
<?php$firstquarter = array(1 => 'January', 'February', 'March');print_r($firstquarter);?>上例将输出: Array( [1] => 'January' [2] => 'February' [3] => 'March')*/?> 例子 11-10. 填充数组
<?php// fill an array with all items from a directory$handle = opendir('.');while (false !== ($file = readdir($handle))) { $files[] = $file;}closedir($handle);?>数组是有序的。也可以使用不同的排序函数来改变顺序。更多信息参见数组函数。可以用 count() 函数来数出数组中元素的个数。
例子 11-11. 数组排序
<?phpsort($files);print_r($files);?>因为数组中的值可以为任意值,也可是另一个数组。这样可以产生递归或多维数组。
例子 11-12. 递归和多维数组
<?php$fruits = array ( fruits => array ( a => orange, b => banana, c => apple ), numbers => array ( 1, 2, 3, 4, 5, 6 ), holes => array ( first, 5 => second, third ) );// Some examples to address values in the array aboveecho $fruits[holes][5]; // prints secondecho $fruits[fruits][a]; // prints orangeunset($fruits[holes][0]); // remove first// Create a new multi-dimensional array$juices[apple][green] = good;?>需要注意数组的赋值总是会涉及到值的拷贝。需要在复制数组时用引用符号(&)。
<?php$arr1 = array(2, 3);$arr2 = $arr1;$arr2[] = 4; // $arr2 is changed, // $arr1 is still array(2,3)$arr3 = &$arr1;$arr3[] = 4; // now $arr1 and $arr3 are the same?>

5. php array_slice 取出数组中的一段序列实例

php
array_slice
函数在数组中根据条件取出一段值,并返回。如果数组有字符串键,所返回的数组将保留键名。本文章通过实例向大家讲解array_slice
函数的使用方法。
php
array_slice

从数组中取出一段
array_slice
函数基本语法:
array
array_slice
(
array
$array
,
int
$offset
[,
int
$length
=
NULL
[,
bool
$preserve_keys
=
false
]]
)
array_slice()
返回根据
offset

length
参数所指定的
array
数组中的一段序列。
参数介绍
参数
描述
array
必需。输入的数组。
soffset
必需。数值。规定取出元素的开始位置。
0
=
第一个元素。
如果
offset
非负,则序列将从
array
中的此偏移量开始。如果
offset
为负,则序列将从
array
中距离末端这么远的地方开始。
length
可选。数值。规定被返回数组的长度。
如果给出了
length
并且为正,则序列中将具有这么多的单元。如果给出了
length
并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从
offset
开始一直到
array
的末端。
preserve_keys
可选。规定函数是保留键名还是重置键名。可能的值:
true
-
保留键名
false
-
默认。重置键名
默认会重新排序并重置数组的数字索引。你可以通过将
preserve_keys
设为
TRUE
来改变此行为。
返回值
返回其中一段。
实例:
<?php
$input
=
array("a",
"b",
"c",
"d",
"e");
$output
=
array_slice($input,
2);
print_r($output);echo
"<br/><br/>";
$output
=
array_slice($input,
-2,
1);
print_r($output);echo
"<br/><br/>";
$output
=
array_slice($input,
0,
3);
print_r($output);echo
"<br/><br/>";
print_r(array_slice($input,
2,
-1));echo
"<br/><br/>";
print_r(array_slice($input,
2,
-1,
true));
?>
结果:
";
$output
=
array_slice($input,
-2,
1);
print_r($output);echo
"
";
$output
=
array_slice($input,
0,
3);
print_r($output);echo
"
";
print_r(array_slice($input,
2,
-1));echo
"
";
print_r(array_slice($input,
2,
-1,
true));
?>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

6. php获取数组长度的方法(有实例)

在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。
php如何获取数组的长度,使用php函数count(),或是sizeof()
例如:
复制代码
代码如下:
$arr
=
Array('0','1','2','3','4');
echo
count($arr);
//
输出
5
$arr
=
array('A','B','C');
echo
sizeof($arr);
//输出3
sizeof()和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0;
两函数功能一样,手册上讲,sizeof()是函数count()的别名。
那么多维数组长度要怎么统计呢?继续看例子
比如你读取的数组是一个二维数组:
复制代码
代码如下:
<?php
$arr=array(

0=>array('title'
=>
'新闻1',
'viewnum'
=>
123,
'content'
=>
'ZAQXSWedcrfv'),

1=>array('title'
=>
'新闻2',
'viewnum'
=>
99,
'content'
=>
'QWERTYUIOPZXCVBNM')

);
?>
如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,
所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
复制代码
代码如下:
<?php
if(is_array($arr)
&&
count($arr,COUNT_NORMAL)>0
)
{

.....
}
else
{

.....
}
?>
你可以使用这样的代码来测试该函数:
复制代码
代码如下:
<?php
$arr=array(

0=>array('title'
=>
'新闻1',
'viewnum'
=>
123,
'content'
=>
'ZAQXSWedcrfv'),

1=>array('title'
=>
'新闻2',
'viewnum'
=>
99,
'content'
=>
'QWERTYUIOPZXCVBNM')

);
echo
'不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo
"<br/>";
echo
'统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>

7. php数组遍历类与用法示例

本文实例讲述了php数组遍历类与用法。分享给大家供大家参考,具体如下:
<?php
class
scanArray{
public
$arr;
public
$where;
private
$str;
public
function
scan($arr,$where="array"){
$this->arr
=
$arr;
$this->where
=
$where;
foreach($this->arr
as
$k=>$v){
if(is_array($v)){
$this->where
=
($this->where)."[{$k}]";
$this->scan($v,$this->where);
}else{
$this->str
.=
$this->where."[{$k}]=".$v.'<br
/>';
}
}
return
$this->str;
}
function
__destruct(){
unset($this->arr);
unset($this->where);
}
}
$a
=
array('g'=>"a",'vv'=>array("b"=>"b","l"=>"c","xx"=>array("e","g")));
$ah
=
new
scanArray();
$b
=
$ah->scan($a);
echo
$b;
运行结果:
array[g]=a
array[vv][b]=b
array[vv][l]=c
array[vv][xx][0]=e
array[vv][xx][1]=g
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:PHP遍历数组的方法汇总PHP
数组遍历方法大全(foreach,list,each)PHP
数组遍历foreach语法结构及实例PHP中多维数组的foreach遍历示例php实现遍历多维数组的方法PHP中使用foreach()遍历二维数组的简单实例PHP遍历数组的三种方法及效率对比分析PHP实现的操作数组类库定义与用法示例PHP数组操作类实例PHP数组生成XML格式数据的封装类实例

8. php中二维数组如何使用

PHP还是比较常用的,于是我研究了一下PHP二维数组,在这里拿出来和大家分享一下,希望对大家有用使用PHP从数组中取出一段值可使用PHP内置函数array_slice(),但这个函数只支持一维数组,具体使用可查看PHP手册,array_slice函数并不支持二维数组,。首先了解一下array_slice函数:
arrayarray_slice(arrayarray,intoffset[,intlength[,boolpreserve_keys]])array_slice()
返回根据offset和length参数所指定的array数组中的一段序列。
实例:从一维数组中取出一段值
<?php$arrayarray=array('b','i','u','u','u');$result=array_slice($array,0,4);print_r($result);?>
实例从数组$array中取出四个值,起点数组下标0开始,结果如下:从一维数组取出一段值非常简单,直接使有内置函数array_slice。PHP二维数组的取值同样需要使用array_slice函数,实例二维数组数据如下:
$arrayarray=array();
$array[1]=array('1'=>'b1','2'=>'i1','3'=>'u1','4'=>'u1','5'=>'u1');
$array[2]=array('1'=>'b2','2'=>'i2','3'=>'u2','4'=>'u2','5'=>'u2');
$array[3]=array('1'=>'b3','2'=>'i3','3'=>'u3','4'=>'u3','5'=>'u3');
$array[4]=array('1'=>'b4','2'=>'i4','3'=>'u4','4'=>'u4','5'=>'u4');
$array[5]=array('1'=>'b5','2'=>'i5','3'=>'u5','4'=>'u5','5'=>'u5');
$array[6]=array('1'=>'b6','2'=>'i6','3'=>'u6','4'=>'u6','5'=>'u6');
$array[7]=array('1'=>'b7','2'=>'i7','3'=>'u7','4'=>'u7','5'=>'u7');
如上二维数组,如果需要取出其中某段,需要知道取段开始与结束在数组中的位置,考虑到应用的特殊性,只从第一个数组开始,在这个二维数组中取出需要的数组个数。方法如下:
functionarray_silice_func(array$array,$limit){$k=$count=0;$temp=array();foreach($arrayas$key=>$value){$countcount=count($value);if($count+$k>=$limit){$t=array_slice($value,0,$limit-$k);$temp[$key]=$t;break;}$temp[$key]=$value;$k+=$count;}return$temp;}

APC方法实现PHP上传多个文件原理剖析
新手必看PHP上传文件进度全面揭秘
经验之谈PHP数组函数总结
深入学习PHP数组函数使用方法
使用如下:print_r(array_silice_func($array,5))取出二维数组的5个值,结果如下:Array([1]=>Array([0]=>b1[1]=>i1[2]=>u1[3]=>u1[4]=>u1))依此类推,取出所需要的数组个数。由于PHP二维数组的使用局限性,这里没有实现从二维数组某个下标开始,取出多少个数组个数的需求,不过这也是值得探讨的地方。以上就关于如何使用PHP从二维数组中取出一段指定值,希望对大家有帮助。

阅读全文

与php数组实例相关的资料

热点内容
苹果笔记本t2加密芯片怎么打开 浏览:796
安卓如何把手机投屏至电视 浏览:737
方舟编译器现在可提速哪些软件 浏览:58
微信加密为什么是黑屏 浏览:473
android去电状态 浏览:602
苹果13如何加密视频 浏览:813
linuxweblogic缓存 浏览:67
云服务器不同地域 浏览:946
python闹钟怎么打 浏览:686
虚拟主机服务器有什么区别 浏览:833
算法与程序的奥秘章节检测 浏览:377
找pdf 浏览:529
与服务器连接断开如何处理 浏览:833
服务器维修预计十分钟什么意思 浏览:170
黑马程序员主打教学是什么 浏览:41
python九乘法表怎么编写 浏览:974
思维方式pdf 浏览:656
tcc社区app怎么注册 浏览:941
央视网下载加密 浏览:454
命令行访问服务器 浏览:36