- <?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的数组
最新推荐文章于 2024-09-13 10:18:42 发布