<?php /*$username=123456; $a=array( 'username'=>'guokai', 'password'=>12345, 'emaiil'=>'guokai-010@163.com' );*/ /*@extract($a); echo $username; echo $password; echo $email;*/ /*foreach($a as $k=>$v) { echo "$$k='$v'<br/>"; //模拟extract函数。 }*/ /*foreach($a as $k=>$v) .//模拟如果K和全局变量有冲突,则加前缀pre。 { if(isset($$k)) { $k='pre_'.$k; $$k=$v; } else{ $$k=$v; } } echo $pre_username; */ /*$city = "San Francisco"; $state = "CA"; $event = "SIGGRAPH"; $b=compact('city','state','event');//compact将变量转换为数组。 print_r($b); */ /*$c=array(); array_push($c,'abc','d','f'); //数组入栈函数。规则是后进先出 print_r($c); */ /*$c=array(); for($i=1;$i<=10;$i++) { array_push($c,$i);//实现数组入栈。 // print_r($c); $d=array_pop($c);//实现数组顺序出栈。 print_r($d); } */ /*$queue=array('tom','jack','kitty');//queue队列的意思 $c=array_push($queue,'aada');//向队列中対尾插入一个元素。 print_r($queue);*/ /*$username=array('guokai','hehe','lala'); $d=array_shift($username);//从队列开头删除数据, print_r($username);*/ /*$queue=array('guokai','hehe','lala'); array_unshift($queue,'a','b',2,3);//array_unshift在队列的开头插入一个或多个元素 print_r($queue); */ $a=array( 'username'=>'guokai', 'password'=>12345, 'emaiil'=>'guokai-010', 12,444 ); $b=array(12,23,444,23154); /*//排序,。忽略键名的 sort(从小到大),rsort(从大到小),usort(用户自定义排序) //SORT_REGULAR - 正常比较单元(不改变类型) //SORT_NUMERIC - 单元被作为数字来比较 //SORT_STRING - 单元被作为字符串来比较 //SORT_LOCALE_STRING - 根据当前的 locale 设置来把单元当作字符串比较。 sort($a,SORT_STRING); print_r($a);*/ /*//排序,。保持索引的 asort(从小到大),arsort(从大到小),uasort(用户自定义排序) asort($a); print_r($a); */ //通过 键名排序,krsort,uksort //ksort($a); //print_r($a); //自然排序 natsort natcasesort //natsort($a); // print_r($a); /*$c=array_merge($a,$b); //数组的 合并 print_r($c); $d=array_diff($a,$b);//差集,数组$a中有而$b中没有 print_r($d); $e=array_intersect($a,$b);//交集,两个数组中都有的 print_r($e); */ /* $a=range(1,10,3);//创建指定范围的数组,可以用来输出1-100之间的数。(1是开始,10是终止,3是步长) print_r($a); $a=array_unique()//移除重复值 $a=array_reverse()//逆序返回数组 $a=array_rand()//随即显示,显示的是key 而不是值 */ explode 和implode //用foreach输出1-100的数字 /*foreach(array_fill(1,100,'')as $k=>$v) { echo $k.'<br/>'; } */ /* //插入排序(一维数组) function insert_sort($arr){ $count = count($arr); for($i=1; $i<$count; $i++){ $tmp = $arr[$i]; $j = $i - 1; while($arr[$j] > $tmp){ $arr[$j+1] = $arr[$j]; $arr[$j] = $tmp; $j--; } } return $arr; } //选择排序(一维数组) function select_sort($arr){ $count = count($arr); for($i=0; $i<$count; $i++){ $k = $i; for($j=$i+1; $j<$count; $j++){ if ($arr[$k] > $arr[$j]) $k = $j; if ($k != $i){ $tmp = $arr[$i]; $arr[$i] = $arr[$k]; $arr[$k] = $tmp; } } } return $arr; } //冒泡排序(一维数组) function bubble_sort($array){ $count = count($array); if ($count <= 0) return false; for($i=0; $i<$count; $i++){ for($j=$count-1; $j>$i; $j--){ if ($array[$j] < $array[$j-1]){ $tmp = $array[$j]; $array[$j] = $array[$j-1]; $array[$j-1] = $tmp; } } } return $array; } //快速排序(一维数组) function quick_sort($array){ if (count($array) <= 1) return $array; $key = $array[0]; $left_arr = array(); $right_arr = array(); for ($i=1; $i<count($array); $i++){ if ($array[$i] <= $key) $left_arr[] = $array[$i]; else $right_arr[] = $array[$i]; } $left_arr = quick_sort($left_arr); $right_arr = quick_sort($right_arr); return array_merge($left_arr, array($key), $right_arr); } */