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;
?>
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;
?>
相关文章推荐
- 约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
- PHP多维数组元素操作类
- js接收PHP数组
- 基于PHP遍历数组的方法汇总分析
- PHP中数组的三种排序方法分享
- PHP数组和explode函数示例总结
- [PHP]数组
- PHP内核探索之变量(4)- 数组操作
- php两个多维数组组合遍历的实例
- 【DAY.1】PHP如何得到数组最后元素的key?
- php 数组递归和字符串递归
- php 提取数组中重复的数据
- php进阶笔记之数组
- PHP——数组(整合版)
- PHP基础系列(二) PHP数组相关的函数分类整理
- PHP中遍历关联数组的方法
- php -- 数组排序
- 学习PHP的数组总结【经验】
- js和php 在数组处理上的不同
- php数组排序笔记