PHP&MySQL,三——数组

  前一段忙着比赛忙着找实习,最后一地鸡毛,就是长长教训罢了。。。。

看书还是多必须的,试着高效的、踏实的做吧!!

  1 <?php
  2 //PHP数组其实能创建很多种数据结构,列表,堆栈,队列,树等
  3 //数组创建array_fill
  4 $start_index=1;
  5 $num=10;
  6 $value="fuck";
  7 $array1=array_fill($start_index, $num, $value); 
  8 
  9 
 10 print_r($array1);echo "<hr/>";
 11 
 12 print count($array1); echo "<br/>"; //count计数实现,返回一个数,代表数组长度
 13 //print_r(array_count_values($array1));
 14 
 15 //移除元素
 16 unset($array1[3]);
 17 $array2=$array1;
 18 //unset($array1);
 19 print_r($array1);echo "<hr/>";
 20 
 21 $start="a";
 22 $limit="z";
 23 $array_letters=range($start, $limit);
 24 print_r($array_letters);echo "<hr/>";
 25 
 26 //异构数组,即数组中有各种类型的
 27 $array_yigou=array("fuck",1,23.343,false);
 28 var_dump($array_yigou);echo "<hr/>";
 29 
 30 //多维数组
 31 $array_dimensions=array($array1,$array_yigou);
 32 var_dump($array_dimensions);
 33 echo $array_dimensions[1][2];echo "<hr/>";
 34 
 35 $array_complicated=array($array_dimensions,$array_yigou);
 36 var_dump($array_complicated);echo "<hr/>";
 37 
 38 //foreach,一开始我理解上有点问题,foreach本来就是一个循环了!!!
 39 foreach ($array1 as $person => $saying){
 40     print "No.".$person." says ".$saying."!"."<br/>";
 41 }
 42 
 43 //比较适合foreach理解的一种方式
 44 foreach ($array1 as $person => $saying){
 45     print "No.".$person." said ".$saying."!"."<br/>";
 46     print "No.".$person." says ".$saying."!"."<br/>";
 47     print "No.".$person." says ".$saying."!"."<br/>";
 48     print "No.".$person." says ".$saying."!"."<br/>";
 49     print "No.".$person." says ".$saying."!"."<br/>";
 50     print "No.".$person." says ".$saying."!"."<br/>";
 51     print "No.".$person." says ".$saying."!"."<br/>";
 52     print "No.".$person." says ".$saying."!"."<br/>";
 53     print "No.".$person." says ".$saying."!"."<br/>";
 54     print "No.".$person." says ".$saying."!"."<br/>";
 55 }
 56 
 57 echo "<hr/>";
 58 
 59 //数组计数
 60 //array_count_values返回一个数组,统计(!!)每个value的个数
 61 $array1Value=array_count_values($array1);
 62 print_r($array1);echo "<br/>";
 63 print $array1Value["fuck"];
 64 //count计数的是“个体”的数目吧
 65 print "There is ".count($array_letters)." letters.";
 66 
 67 echo "<hr/>";
 68 
 69 //神奇的explode和implode
 70 //就是字符串的拆解和安装
 71 //注意一定要有glue或者什么,不能不输入
 72 $sentence="What is your name?";
 73 $explode_demo=explode(" ", $sentence);
 74 var_dump($explode_demo);
 75 var_dump(implode(" ", $explode_demo));echo "<hr/>";
 76 
 77 //数组元素搜索判断
 78 //in_array判断是否存在,array_search返回在哪里
 79 echo in_array("fuck", $array1);
 80 $check_list="fuck you";
 81 var_dump(in_array($check_list, $array1));
 82 //in_array第三个参数为严格检查类型,默认为false
 83 $check_list2="1 is in here";
 84 var_dump(in_array($check_list2, $array_yigou,false));
 85 var_dump(in_array($check_list2, $array_yigou,true));
 86 
 87 print array_search("fuck", $array1);
 88 print array_search(1, $array_yigou);
 89 //array_key_exists判断key是不是存在
 90 echo "<hr/>";
 91 
 92 //直接利用key或value
 93 var_dump(array_keys($array1));
 94 var_dump(array_values($array_dimensions));echo "<hr/>";
 95 
 96 //implode和array_merge
 97 var_dump(implode(" ", $array1));echo "<hr/>";
 98 var_dump(array_merge($array1,$array_letters));
 99 
100 //数组排序
101 //注意排序之后,直接改变/返回到原数组
102 //sort升rsort降
103 //这里也是我第一次对PHP语言有理解的地方,各种封装好的函数,需要的就是多用,知道,然后熟练的调用
104 //自己编写的排序函数,往往没有其自带的/现成的函数效率/效果好
105 $array_num=range(2, 123,3);
106 print_r($array_num);echo "<hr/>";
107 rsort($array_num);
108 print_r($array_num);
109 sort($array_letters);
110 var_dump($array_dimensions);echo "<hr/>";
111 //关联数组,若想保持键值的关系不变,应该用asort
112 sort($array_yigou);
113 var_dump($array_yigou);
114 rsort($array_yigou,SORT_NUMERIC);
115 var_dump($array_yigou);
116 asort($array_yigou);
117 var_dump($array_yigou);
118 //ksort是根据key值来排序的
119 
120 //总结_数组
121 //数组创建——array(),array_fill(),range()
122 //数组输出——var_dump,print_r
123 //数组种类——索引数组,关联数组;异构数组,多维数组
124 //数组排序——sort(),rsort(),asort(),ksort()
125 //foreach的使用
126 //implode(),explode()
127 //is_array,in_array,array_search
128 //array_count_values,count