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