<?php //数组常用操作 header("Content-type:text/html;charset=utf-8"); //声明数组: $arr = array('001'=>'春','002'=>'夏','003'=>'秋','004'=>'冬'); print_r($arr);//Array ( [001] => 春 [002] => 夏 [003] => 秋 [004] => 冬 ) //索引数组: $arr = array(0=>'东',1=>'西',2=>'南',3=>'北');//键不必有特殊意义。 //关联数组: $student =array('name'=>'小花','age'=>30);//字符串做键,突出单元的意义。 //多维数组: $student2 = array('name'=>'小明','info'=>array('love'=>array('name1'=>'小花','name2'=>'小樱'))); print_r($student2); //关于键的规则: //1.如不声明,则递增键值。如果声明1个或多个数字键,则从最大的数字键,递增生成。 //2.如果键重复了,后面的键值覆盖前面的值。 //3.浮点数转成整数。 $arr = array(3=>'a',3=>'b',9=>'c','d'); print_r($arr); echo "<br />"; //操作数组的单元: $arr = array('a','b','c'); //增加单元 $arr[] = 'd'; $arr[99] = 'e'; $arr['stu'] = array('li','wang'); print_r($arr);//Array ( [0] => a [1] => b [2] => c [3] => d [99] => e ) //读取单元 echo $arr['stu'][1];//wang //改单元值 $arr['stu'] = 'A'; print_r($arr);//Array ( [0] => a [1] => b [2] => c [3] => d [99] => e [stu] => A ) //删除某个单元 unset($arr['stu']); print_r($arr);//Array ( [0] => a [1] => b [2] => c [3] => d [99] => e ) ?>
<?php //数组操作 /*游标操作 current() next() prev() end() */ header("Content-type:text/html;charset=utf-8"); $arr = array('a','b','c','d'); //取当前游标指向的数组单元的值 echo current($arr)."<br />";//a next($arr);//下一位 echo current($arr)."<br />";//b end($arr);//尾 echo current($arr)."<br />";//d reset($arr);//复位 echo current($arr)."<br />";//a //下方的操作有漏洞,执行到false时while退出。 $arr = array(1,2,3,false,4,5,6); while($v = current($arr)){ echo $v."<br />"; next($arr); } //数组常用函数及面试题 $arr = array('a'=>'张三','b'=>'赵四','c'=>NULL); //判断数组{键}是否存在,用isset函数操作不合理! if(isset($arr['c'])){ //结果:c号单元不存在 echo 'c号单元存在'; }else{ echo 'c号单元不存在'; } echo "<br />"; //判断数组{键}是否存在,用array_key_exists('key',$arr)函数操作! if(array_key_exists('c',$arr)){ //结果:c号单元存在 echo 'c号单元存在'; }else{ echo 'c号单元不存在'; } echo "<br />"; //判断数组{值}是否包含在单元内。 if(in_array('赵四', $arr)){ echo '赵四单元存在'; }else{ echo '赵四单元不存在'; } echo "<br />"; /* array_push($arr,'e');//往数组尾部加入单元,并返回操作后的数组长度。 array_pop($arr); //数组的最后一个单元弹出。 array_unshift($arr,'z'); //往数组头部加入单元,并返回操作后的数组长度。 array_shift($arr); //数组的第一个单元弹出。 */ $arr = array('a','b','c','d'); echo array_push($arr,'e')."<br />";//5 echo array_pop($arr)."<br />";//e echo array_pop($arr)."<br />";//d echo array_unshift($arr,'z')."<br />";//4 print_r($arr); //z a b c echo "<br />"; echo array_shift($arr)."<br />";//z print_r($arr); //a b c echo "<br />"; //遍历数组 foreach ($arr as $a){ echo $a."<br />"; // a b c } for ($i= 0;$i< count($arr); $i++){ echo $arr[$i]."<br />"; // a b c } //注:因为while在数组中的操作较少,这里就不深做研究。 ?>