数组
数值数组
之前再学习数据类型与字符串时简单的了解了什么是数组
那么具今天就来学习数组了
数组能够在单个变量中存储多个值,并且可以根据键访问其中的值
/** * 数组分为两种写法 * array(内容); * [内容]; * 第一种使用的频率或许会高点 * 且有两种输出方式var_dump()和print_r()推荐使用第二个来调试部分情况可以选择使用第一个 * 至于pre标签之前说过的是为了让数组更好观看 */ $array_1 = array('内容1','内容2','内容3','内容4','内容5'); $array_2 = ['内容1','内容2','内容3','内容4','内容5']; echo '<pre>'; var_dump($array_1); print_r($array_2); print_r($array_2[4]);
数值数组扩展
/** * 当然数值的数组并不是固定的 * 下方案列就很的展示出来了 * 可以自行将其中1,2,3,4,5,6中删除几个 * 数组照样可以显示但是内容顺序会断开式呈现 */ $array_All = []; $array_All[1] = 1; $array_All[2] = 2; $array_All[3] = 3; $array_All[4] = 4; $array_All[5] = 5; $array_All[6] = 6; print_r($array_All);
关联数组
/** * 关联数组有两种写法 */ $array_All = ["hello" => "你好世界","baybay" => "再见世界"]; print_r($array_All); echo "<hr>"; //OR $array_All["hello"] = "你好世界"; $array_All["baybay"] = "再见世界"; print_r($array_All);
小知识
/** * 这种写法你会发现第一个键输出的是hello而其第二个开始则是从数字0开始递增键 * 如果将hello移到1下面或者3下面呢就会发现hello键依旧不变且没有被定义的键还是从0开始递增 * 但是输入两个hello键时只会输出一个这就说明键是不能重复使用的,如果出现重复使用会被第二个替换掉 */ $array_All = [ "hello" => "你好世界", "1", "2", "3", "4", "5", ]; print_r($array_All);
获取数组长度 -count()函数
echo count($array_All); //用法很简单来获取数组长度
遍历数组
/** * for使用遍历时最好使用纯数字的键不然会报错【不清楚为什么8.0以上的php不会报错】 * 其中foreach($array_All as $value)就相当于 echo $array_All[0]但是输出所有的值 * 而foreach($array_All as $key => $value)就相当于将数组中遍历所有的值并赋值给$key其中$value也是同样的道理看下方对比 * $key => $value * [0] => '你好世界', * 其中$key就是[0]而$value就是'你好世界' */ for ($i=0; $i < count($array_All); $i++){ echo $array_All[$i]; echo '<br>'; } foreach($array_All as $value){ 要执行的代码 } foreach($array_All as $key => $value){ 要执行的代码 }
遍历数组for和while都可以用但是不常用建议使用foreach
总结
要点
- 1.[0] = > 内容1 | 数组中的[0]为键而【内容1】为值
- 2.键其实就是数字
- 3.数值数组和关联数组的区别在于他的键
注意
- A.数组获取键的值要在变量后方加一个所要输出的键且键也就是[5]或者其他的
- B.数组中的键是从0开始算起的而不是1
- C.数组可以自己组成的不能通过键来推断当前数组有多少键
- D.键是不能重复使用的
- E.for使用遍历时最好使用纯数字的键不然会报错
- F.$key => $value不是固定写法可以写成 $jian => $zhi等等