php数组实现
‘壹’ 如何创建1-100的数组,用php创建
$arr = array();
for($i=0;$i<100;$i++){
$arr[$i] = $i;
}
你试下,应该是对的!哈哈,希望对你有帮助,祝你成功!
java版本的:
int[] array=new int[100];
for(int i=0;i<100;i++){
array[i]=i+1;
}
‘贰’ php中遍历数组方法
遍历数组有多种实现方法:
1、连续索引的数组:
实现连派码续数组的遍历很简单,因为数组的索引是连续的(0 1 2),所以我们可以首先用count()函数计算出数组中元素的个数拿羡,然后建立一个for循环,如下:
$subject=array("maths","english","physics");
$num_elements=count($subject); //这时$num_elements的值为3
for ($i=0;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
结果为:
maths
english
physics
这里我们给$i赋了初值为0,是因为数组元素的索引默认为0 1 2,如果第一个元素的索引不为0,我们只需:
$subject=array(3="maths","english","physics");
$num_elements=count($subject)+3; //注意这里
for ($i=3;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
这里将$i赋了值3,同时$num_elements=count($subject)+3,这里很容易被忽视。
2 、非连续索引的数组:
$subject=array("m"="maths","e"="english","p"="physics");
这里建立了一个了数组,索引值分别为"m" "e " "p",这样的数组怎么遍历?
方法一:使用list()和each()函数组合
$subject=array("m"="maths","e"="english","p"="physics");
reset($subject); //把指针复位到第一个消羡拍元素上
while (list($key,$value)=each($subject)){
echo "$key is $value
"; }
方法二:使用foreach语句
$subject=array("m"="maths","e"="english","p"="physics");
foreach($subject as $key = $value){
echo "$key is $value
";
}
?
是不是比list()和each()简单。
foreach 与 list()each()组合的不同之处:
foreach 是在原来数组的拷贝上执行操作的。他的优点是不会影响当前数组指针的位置,缺点是对于一个很大的数组,复制所花的时间很长。
list() each()组合很明显用他遍历、之后,指针的位置改变了。
方法三:使用array_walk()函数遍历数组
array_walk()是让使用者自定义函数,处理阵列中的每一个元素。
$subject=array("maths","english","physics");
function printElement($element){
print ("$element
");
}
array_walk($subject,"printElement");
‘叁’ php数组的基本语法 : PHP 数组
数组
php 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个 php 数组作为值,也可以很容易地模拟树。
解释这些结构超出了本手册的范围,但对于每种结构至少会发现一个例子。要得到这些结构的更多信息,建议参考有关此广阔主题的外部着作。
‘肆’ php 如何定义一个数组
php中定义数组的方法:x0dx0ax0dx0a1、PHP定义数组的格式:x0dx0a数组名=array();x0dx0a如:$aa=array();//这样就定义了一个数组,x0dx0a之后给元素赋值:x0dx0a$aa[0]="9016";x0dx0a$aa[1]="9017";x0dx0a$aa[2]="9018";x0dx0ax0dx0a2、PHP输出数组的方法:x0dx0aforeach($aa as $val)x0dx0a{x0dx0aecho$val;x0dx0a}x0dx0a也可以在定义数组时直接赋值x0dx0a$aa=array(0=>"9016",1=>"9017";2=>"9018");x0dx0ax0dx0a3、PHP的数组还可以用字符做下标,不一定要数字:x0dx0a$aa["name"]="Joan";x0dx0a$aa["num"]="9018";x0dx0a$aa["email"]="[email protected]";x0dx0a也可以这样x0dx0a$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]");x0dx0a将一个一维数组的元素也定义为数组,就是一个二维数组,x0dx0a$aa=array(0=>"a1",1=>"a2");x0dx0a$bb=array(0=>"b1",1=>"b2");x0dx0a$cc=array(0=>$aa;1=>$bb);此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。x0dx0a同理,三维,四维数组也可以继续定义下去。x0dx0ax0dx0a4、数组的元素不仅于数字和字符串,可以是类的对象。
‘伍’ php里面怎么新建数组
php里面新建数据可以通过两种方式,一种是通过array函数来创建,另一种就是通过赋值[]来创建。
<?php
$arr1=array(1,2,3,4);
var_mp($arr1);
$arr2[0]=1;
$arr2[1]=2;
$arr2[2]=3;
$arr2[3]=4;
var_mp($arr2);
‘陆’ 用php代码实现将一个数组的值排列顺序改为第一个数字最大,第二个数字
<?php
//自定义排序函数my_sort
functionmy_sort($arr){
rsort($arr);//从大到小排序
$new=array();
$count=count($arr);
for($i=0;$i<$count;$i++){
$new[]=$arr[$i];
if($count-$i-1>$i){
$new[]=$arr[$count-$i-1];
if($count-$i-2<=$i){
break;
}
}else{
break;
}
}
return$new;
}
$arr=array(1,3,5,7,9,2,4,6,8,10);
$new=my_sort($arr);
echo'<pre>';
print_r($arr);
print_r($new);
echo'</pre>';
exit;
‘柒’ php 如何做一个固定长度的数组
<?php
//php仿造java定长数组: int[] source = new int[10];
$source = new SplFixedArray(10);
//$source[10] = 1;这种会报错,因为超越了数组的边界,$source下标最大为9
//仿造java给数组元素默认赋值为0
for ($i=0; $i < sizeof($source); $i++) {
$source[$i] = 0;
}
//数组扩容为原来的1.5倍
$size = sizeof($source);
$destination = new SplFixedArray($size + ($size >> 1));
for ($i=0; $i < sizeof($source); $i++) {
$destination[$i] = $source[$i];
}
print_r($destination);
‘捌’ 用自己的语言说出php中数组的常用函数和用法
array_filter : 过滤数组中的无效元素,可以使用回调函数过滤
array_map : 使用回调函数依次处理所有元素
implode: 将一维数组转为特定符号隔开的字符串,
explode: 将特定符号隔开的字符串转为一维数组
sort /ksort: 将数组进行升序排序
array_unique: 将数组元素去重
array_values: 取数组的值,重新组成新数组
array_pop: 取数组末尾元素并删除(队列)
array_push:将一个元素插入数组末尾(队列)
array_sum:统计数组元素的和
array_column:将二维数组中的指定KEY取出组成一个一维数组
网页链接