您的位置:首页 > 编程语言 > PHP开发

PHP的数组

2014-03-26 11:36 148 查看
[php] view
plaincopyprint?





[php] view
plaincopyprint?





<?php

/*

*PHP的数组详解

*

*

*创建数组的两种方式

*/

//通过array关键字来初始化数组并填入相应值

//输出结果:Array ( [0] => 李彦宏 [1] => 马云 [2] => 周鸿伟 [3] => 俞敏洪 [4] => 李开复 )

$userNames = array('李彦宏','马云','周鸿伟','俞敏洪','李开复');

//print_r():打印关于变量的易于理解的信息

print_r($userNames);

echo '<br>';

//通过range()自动创建一个数组,range()的第三个参数表示的步长,指间隔多少个位置再进行输出

//输出结果:Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )

$numbers = range(1,10,2);

print_r($numbers);

echo '<br>';

//使用有序数字作为数组的下标时,可以直接用for循环对数组进行遍历

for($i=0;$i<5;$i++){

echo $numbers[$i].' ';

}

echo '<br>';

//foreach()用于遍历key值不是有序数字的数组

//is_array()用于判断一个变量是否是数组类型

$foreachNames = array('www.baidu.com'=>'李彦宏','www.taobao.com'=>'马云','www.microsoft.com'=>'微软');

echo is_array($foreachNames).'<br>'; //结果:1

foreach($foreachNames as $key => $value){

echo $key.'对应的创始人是:'.$value.' '.'<br>';

}

//使用each()打印数组的内容:

//echo()的作用是将数组的当前元素构建成一个新数组并返回,并将下一个元素作为当前元素

$ages=array('吴祁'=>19,'李炎恢'=>27,'胡心鹏'=>23);

$number=array(1);

//print_r(($number));

//echo '<br>';

//print_r(each($ages));

//echo '<br>';

//print_r(each($ages));

//echo '<br>';

//print_r(each($ages));

//echo '<br>';

//$element = each($ages);

//echo !!$element;

//while(!!$element = each($ages)){

// echo $element['key'].'=>'.$element['value'].'<br>';

//}

echo '<br>';

//list():将一个数组分解成一系列的值,但是其只认识下标为数字的数组元素,所以自定义的字符串的key是//无法使用list()来识别的

list($name,$age)=each($ages);

echo $name.' '.$age;

//reset()将数组内部的指针指向第一单元

//array_unique()移除一个数组中重复的值,不会影响原来的数组

//array_flip() 交换数组中的键和值,但是不会影响原来的数组

echo '<br>';

//在拥有key值情况下的二维数组:

$products = array(

array("产品名"=>"苹果","数量"=>6,"价格"=>28.8),

array("产品名"=>"猪肉","数量"=>2,"价格"=>32.1),

array("产品名"=>"饼干","数量"=>3,"价格"=>45.3)

);

//显示这个数组

//第一种方式:

//for($row=0;$row<3;$row++){

// echo $products[$row]["产品名"]."|".

// $products[$row]["数量"]."|".

// $products[$row]["价格"];

//}

//echo '<br>';

//第二种方式:

for($row=0;$row<3;$row++){

while(!!list($key,$value)=each($products[$row])){

echo "|".$value;

}

echo "|<br>";

}

//数组的排序

//sort():安装字母升序或者数字升序对数组进行排序,key值会随之改变

//asort():保持原始的key值不变的排序方式(保持索引关系)

//ksort():按照键名进行排序

//rsort(),krsort(),arsort(),反向排序

//SORT_NUMERIC,SORT_STRING

//shuffle():将数组顺序打乱

//array_reverse():对数组进行倒序排序,不会影响原来的数组

//array_unshift():将一个或者多个新元素添加到数组头,返回值为插入后的数组的元素个数

//array_shift():删除开头的元素

//array_pop():删除结尾的元素

//array_count_value():统计数组内所有的值出现的次数

//array_push():将每个新元素添加到数组的末尾

//array_rand():获取一个数组中某些元素的键值

//current():获取当前的元素,指针不会下移

//extract():将数组转换成标量变量

$array=array("key1"=>"value1","key2"=>"value2","key3"=>"value3");

extract($array);

echo $key1.$key2.$key3;

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: