数组
方法一 变量名称【索引值】=数据; 变量名称【】=数据;//不写索引值默认是所以数组,从0开始。 方法二 变量名称=array{ 索引值=>数据; ………….. };
索引 ,你也可以理解为目录,就相当于给里面的每一个数起一个名字, 名字如果取得是整形,那么这个数组,就是索引数组 。如果名字字符串类型,那么这个数组就是关联数组。 可得,索引值重复的值上方的值会被下方覆盖。 为了能更清晰的观察,网页界面右键 Array是输出的意思。 或是
使用array()语言创建数组 (length=6) 通过=>可更换索引值
1 2 3 4 5 6 <?php $student =array (10 ,'得分' ,22 =>true ,60.5 );var_dump($student );
或是
1 2 3 4 5 6 7 8 9 <?php $student =array ( 'num' =>10 , 'nuc' =>11 , 'n' =>'得分' ); var_dump($student ); echo $student ['n' ];
索引值也可以为数组 当查询某个数的时候,可以用图下表示
多维数组 在同一个数组中,存储任何类型的数据,
1 2 3 4 5 6 <?php $student =array ( 0 =>array ('num' =>10 ,'nuc' =>11 ,'n' =>'得分' ), 1 =>array ('num1' =>10 ,'nuc1' =>11 ,'n1' =>'得分1' ) ); var_dump($student );
注意逗号!array后面最后一个数带不带逗号都能运行
数组的遍历 count 遍历数组:每个都经历一边的意思。
1 2 3 4 5 <?php $student =array ( 'a' ,'c' ,'d' ,'x' ,'s' ,'z' ); echo count($student );
count默认获取第一层,例如: 要想全部获取,
1 2 3 4 5 6 <?php $student =array ( array (1 ,2 ,3 ), array (4 ,5 ,6 ), ); echo count($student ,1 );
使用循环输出数组 for循环 1 2 3 4 5 6 7 8 9 <?php $arr =array ( 'a' ,'c' ,'d' ,'x' ,'s' ,'z' ); for ($i =0 ;$i <count($arr );$i ++){ echo $arr [$i ]; echo "<br />" ; } echo count($arr );
但是关联数组,中for循环不可用。
foreach()PHP内核提供的 格式如图所示,看看就行!
1 2 3 4 5 6 7 8 <?php $arr =array ( 'name' =>'成功' , 'num' =>10 ); foreach ($arr as $value ){ echo $value .'<br />' ; }
如若,想显示数组变量,则可书写如下(一维数组)
1 2 3 4 5 6 7 8 <?php $arr =array ( 'name' =>'成功' , 'num' =>10 ); foreach ($arr as $key =>$value ){ echo $key .'=>' .$value .'<br />' ; }
对于多维数组
1 2 3 4 5 6 7 8 9 10 11 <?php $arr =array ( 'name' =>'成功' , 'num' =>10 , array ( 1 ,2 ,3 ) ); foreach ($arr as $value ){ echo $value .'<br />' ; }
使用echo输出,会将array中的视为一个整体,即如图所示 应将echo改为var_dump();输出即可
进行多重嵌套 例如
1 2 3 4 5 6 7 8 9 <?php $arr =array ( array (1 ,2 ,3 ), array (1 ,2 ,3 ,'j' ), array (1 ,'g' ,2 ,3 ,9 ) ); foreach ($arr as $value ){ var_dump($value ); }
再加一层嵌套
1 2 3 4 5 6 7 8 9 10 11 <?php $arr =array ( array (1 ,2 ,3 ), array (1 ,2 ,3 ,'j' ), array (1 ,'g' ,2 ,3 ,9 ) ); foreach ($arr as $value ){ foreach ($value as $value1 ){ echo $value1 .'<br />' ; } }
即可显示里面的内容。
与html相结合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?php $students =array ( array ('张三' ,'d' ,true ,3 ), array ('李四' ,'j' ,false ,7 ), array ('王五' ,'g' ,true ,2 ) ); echo '<table border=1>' ;foreach ($students as $val ){ if ($val [2 ]===true ){ $val [2 ]='男' ; } else { $val [2 ]='女' ; } echo "<tr><td>{$val[0]} </td><td>{$val[1]} </td><td>{$val[2]} </td><td>{$val[3]} </td></tr>" ; } echo '</table>' ;?>
可得
预定义超全局数组的变量 已经定义好了(存在)的变量(存放的数据的类型是数据) 超全局:超级全局变量,作用域(有效区域)!转换至如下!
传递数据(提交数据)给服务器端的两种方式 GET方式(比较小,不太安全) 至如下 比如:?参数名=参数值&参数名=参数值… 在服务器端(请求PHP文件)这边可以通过$_GET来获取到,$_GET索引值为参数名,索引对应的数据就是参数值。
POST方式 比如表单可以通过POST发送过来,可以通过$_POST来获取!
处理数值的相关函数 简单写一下,由于博客已经发布,,,(我没上传,丢了)
array_count_values()统计数组中所有数出现的个数 1 2 3 <?php $array = array (1 ,3 ,3 ,"txt" ,3 );print_r(array_count_values($array ));
array_key_exists查找键名 1 2 3 <?php $array = array (1 =>3 ,'3' =>"txt" );var_dump(array_key_exists('3' ,$array ));
array_search()与查找数值中的数类似,除了比较值,还会比较类型 1 2 3 <?php $array = array ('1' =>1 ,'3' =>"txt" );var_dump(array_search('1' ,$array ,true ));
若去掉true表示结果与 array_count_values()类似
1 2 3 <?php $array = array (1 =>1 ,'3' =>"txt" );var_dump(array_search('1' ,$array ,true ));
count统计数值中的数 1 2 3 <?php $array = array ('1' =>1 ,'3' =>"txt" );var_dump(count($array ));
in_array检查数值中是否出现某个数(返回对或者错) 1 2 3 <?php $array = array ('1' =>1 ,'3' =>"txt" );var_dump(in_array(1 ,$array ));
与上类似加true,可比较类型
list把数值中的值赋给变量 1 2 3 4 <?php $arr = array (1 ,2 ,4 );list ($a ,$b ,$c )=array (1 ,2 ,4 );echo $a ;
注意 顺序,反正我的不是从右往左
1 2 3 <?php list ($a [],$a [],$a [])=array (1 ,2 ,4 );print_r($a );
assort对数排序 1 2 3 4 <?php $arr =array ('hn' =>1 ,'hdd' =>8 ,'vv' =>2 ,'hd' =>4 );asort($arr ); print_r($arr );
array_filter用回调函数过滤数组的单元
这莫可爱(让我摸摸的)小猫咪…..要官宣一下!