php定义初始化数组长度,php数组的定义和初始化学习笔记什么是数组?数组是⼀种编程结构,它是⼀个存储⼀组或⼀系列数值的变量。
⽐如⼈⼝普查时对个⼈的⾝份登记,如姓名、性别、民族、出⽣等就可作为数组。
php教程中创建数组使⽤array()结构来定义,⽐如:
$people=array('name','sex','nation','brith');
⽽如何显⽰数组中的各元素的值,我们则是使⽤从0开始的索引,索引号在变量名称后的⽅括号中,⽐如:
<?php
$people=array('name','sex','nation','birth');
echo $people[2];
>
输出的$people[2]就是显⽰的是nation(索引第⼀项从0计数)。
php除了⽀持数字索引数组以外,还⽀持相关数组。所谓相关数组,就是可⾃定义关键字来替换不直观的数字索引,⽐如:
<?php
$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
echo $peoples['cs'];
>
使⽤相关数组使得输出的选择很直观(不需要预先计算索引号然后输出),定义的关键字和值之间使⽤“=>”符号定义。
根据php数组元素的两种显⽰⽅式,还可以如变量⼀样⽆需array()声明和初始化,直接⾃动创建数字。⽐如
$people[0]='name';
$people[1]='sex';
$people[2]='nation';
$people[3]='brith';
或者
$peoples['xm']='name';
$peoples['xb']='sex';
$peoples['mz']='nation';
$peoples['cs']='birth';
该数组的⼤⼩根据所增加元素的多少动态的变化。
2,数组元素的显⽰
在如上使⽤的⽆论$people[2]也好,⽆论$peoples['cs']也好,都只是输出已知的明确位置的数组元素值,如何快速输出所有或部分的数组元素,使⽤循环语句⽆疑是最快的⽅法。
<?php
$people=array('name','sex','nation','birth');
for ($i=0;$i<4;$i )
echo "$people[$i] ";
>
除了使⽤了解循环次数的for循环以外,还可以使⽤对循环次数⽆须要求的foreach语句。
<?php
$people=array('name','sex','nation','birth');
foreach($people as $xiangmu)
echo $xiangmu;
>
$xiangmu变量将保存数组中的各元素值,依次显⽰出来。当然,为了输出的数据能间隔区分,可在数组元素之后输出空格:
echo $xiangmu." ";
现在来看⼀款php从数组⾥筛选出重复的数据
<?php
$num = count($array);
if($num)
{
sort($array);
}
if($num!=0)
{
$m = $array[0];
$n = 0;
$kind=1;
echo $array[0]."----------";
for($z=0;$z
{
if($m!=$array[$z])
{
echo $array[$z-1]." ";
echo $array[$z];
$kind=0;
$m=$array[$z];
}
$n ;
$m ;
//echo $array[$z]."'/n'";
}
if($kind==1)
{
echo $array[$num-1]."重复的数据! ";
}
>
相关数组函数
list()
array_walk
让使⽤者⾃订函数能处理数组中的每⼀个元素。语法: int array_walk(array arr, string func);返回值: 整数
参考 each() list()
arsort
将数组的值由⼤到⼩排序。
语法: void arsort(array array);
参考 asort() rsort() ksort() sort()
asort
将数组的值由⼩到⼤排序。
语法: void asort(array array);
返回值: ⽆
参考 arsort() rsort() ksort() sort()
count
计算变量或数组中的元素个数。
语法: int count(mixed var);
返回值: 整数
参考 end() next() prev() reset()
each
返回数组中下⼀个元素的索引及值。
语法: array each(array array);
返回值: 数组定义数组初始化
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论