• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孤独的DNA
博客园    首页    新随笔    联系   管理    订阅  订阅

学习笔记之-php数组的原理

1.数组的定义方式

  array 或者 []

print_r([['a' =>1,3],[2,4]]);

2.数组的 key 和 value的限制条件

  1) key 只能是整型或者字符串类型

  2) 健名相同的之前的会被覆盖

  3) 浮点型会转换成整型

  4) null会存储为''(空字符串)

3.数组的间接访问 php5.4以上的版本才支持

<?php

function d(){
    return array(1,2,3);
}

echo d()[1]; //输出:2

4.数组的unset();

删除数组元素后,数组不会重新建立索引,需要重新建立可以使用 array_values();

5.数组类型的转换

将字符串转换成数组 $arr = (array) $string;

6.foreach的引用

<?php

$arr = array(1,2,3);
foreach ($arr as $key => &$value) {
    
}
foreach ($arr as $key => $value) {
    echo $value;
}
//结果 1 2 2

注:foreache循环再内部使用的是指针的方式,比for快,所以数组能用foreach循环就使用foreach循环.foreach循环完之后$value的作用域并不是只存在于foreach中

结果原因:

第一遍foreach

第一次: $value = &$arr[0] = 1;

第二次: $value = &$arr[1] = 2;

第一次: $value = &$arr[2] = 3;

第二遍foreach

第一次:$value = &$arr[2] = $arr[0] = 1; //此时$arr[2] = 1

第二次:$value = &$arr[2] = $arr[1] = 2; //此时$arr[2] = 2

第三次:$value = &$arr[2] = $arr[2] = 2; //$arr[2] 再上一次循环中已经赋值等于2 所以$value 为2

数组的遍历函数:

array_walk 采用引用的方式进行遍历,改变的是原数组

array_map 返回新的数组

 

posted @ 2018-06-19 15:53  孤独的DNA  阅读(930)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3