北京快三预测:分享六个比较好用的php数组Array函数

北京快三走势图 www.mxld9.cn  更新时间:2018年07月10日 15:09:37   作者:kaykay012   我要评论

这篇文章给大家分享六个比较好用的php数组Array函数,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

1. array_column 返回输入数组中某个单一列的值。
2. array_filter 用回调函数过滤数组中的元素。
3. array_map 将用户自定义函数作用到给定数组的每个值上,返回新的值。
4. array_walk_recursive 对数组中的每个成员递归地应用用户函数。
5. extract (从数组中将变量导入到当前的符号表),  compact (创建一个包含变量名和它们的值的数组)
6. uasort 使用用户自定义的比较函数对数组中的键值进行排序。

1. array_column 返回输入数组中某个单一列的值。

类似功能有

1.1 Yii2 中的 ArrayHelper::index($array, 'id');

1.2 Yii2 中的 $query->select(['last_name', 'id'])->indexBy('id')->column();

// 可能从数据库中返回数组
$a = array(
 array(
  'id' => 5698,
  'first_name' => 'Peter',
  'last_name' => 'Griffin',
 ),
 array(
  'id' => 4767,
  'first_name' => 'Ben',
  'last_name' => 'Smith',
 ),
 array(
  'id' => 3809,
  'first_name' => 'Joe',
  'last_name' => 'Doe',
 )
);
$last_names = array_column($a, 'last_name', 'id');
print_r($last_names);

输出结果:

Array
(
    [5698] => Griffin
    [4767] => Smith
    [3809] => Doe
)

2. array_filter 用回调函数过滤数组中的元素。

function test_odd($var)
{
  return($var & 1);
}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));

输出:

Array
(
    [2] => 2
    [3] => 3
    [4] => 4
)

3. array_map 将用户自定义函数作用到给定数组的每个值上,返回新的值。

此函数有点类似与 array_walk_recursive , 只是多写了一步递归

 function myfunction($v) {
   if (is_array($v)) {
     return array_map("myfunction", $v);
   }
  return($v * $v);
} 
 $a = array(1, 2, 3, 4, 5, 6 => [2, 3]);
print_r(array_map("myfunction", $a));

输出:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
    [6] => Array
        (
            [0] => 4
            [1] => 9
        )

)

 function myfunction($v1, $v2) {
  if ($v1 === $v2) {
     return "same";
   }
   return "different";
 } 
 $a1 = array("Horse", "Dog", "Cat");
 $a2 = array("Cow", "Dog", "Rat");
 print_r(array_map("myfunction", $a1, $a2));

输出:

Array
(
    [0] => different
    [1] => same
    [2] => different

4. array_walk_recursive 对数组中的每个成员递归地应用用户函数。

此函数有点类似与 array_map, 只是省去了写递归

 function myfunction(&$value, $key, $p) {
   if ($value == 'xxx') {
     $value = $p;
   }
 }
 $a = array("a" => "red", "b" => "green", "c" => "blue", 'd' => ['x' => 'xxx', 'y' => 'yyy']);
 array_walk_recursive($a, "myfunction", 'green');
 print_r($a);

输出:

Array
(
    [a] => red
    [b] => green
    [c] => blue
    [d] => Array
        (
            [x] => green
            [y] => yyy
        )

)

5. extract (从数组中将变量导入到当前的符号表),  compact (创建一个包含变量名和它们的值的数组)

 $a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
 extract($my_array);
 echo "\$a = $a; \$b = $b; \$c = $c";

输出:

$a = Cat; $b = Dog; $c = Horse

 $firstname = "Peter";
 $lastname = "Griffin";
 $age = "41";
$result = compact("firstname", "lastname", "age");
 print_r($result);

输出:

Array
(
    [firstname] => Peter
    [lastname] => Griffin
    [age] => 41
)

6. uasort 使用用户自定义的比较函数对数组中的键值进行排序(可以对二维数组排序)。

$arr2 = [
  [
    'id' => 3,
    'age' => 33,
  ],
  [
    'id' => 2,
    'age' => 44,
  ],
  [
    'id' => 1,
    'age' => 22,
  ],
];
//按age字段升序排序
uasort($arr2, function($a, $b) {
  $field = 'age';
  if ($a[$field] == $b[$field]){
    return 0;
  }
  return ($a[$field] < $b[$field]) ? -1 : 1;
});
print_r($arr2);

输出:

Array
(
    [2] => Array
        (
            [id] => 1
            [age] => 22
        )

    [0] => Array
        (
            [id] => 3
            [age] => 33
        )

    [1] => Array
        (
            [id] => 2
            [age] => 44
        )

)

总结

以上所述是小编给大家介绍的六个比较好用的php数组Array函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • php中static 静态变量和普通变量的区别

    php中static 静态变量和普通变量的区别

    静态变量与普通变量的区别在哪里呢,对于许多初学php的朋友来讲可能不是点击的明白了,今天我们来看看php中static 静态变量和普通变量的区别吧,需要的朋友可以参考下
    2016-12-12
  • easyui的tabs update正确用法分享

    easyui的tabs update正确用法分享

    jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。下面说一下tabs update的正确用法
    2014-03-03
  • Php中使用Select 查询语句的实例

    Php中使用Select 查询语句的实例

    php中要查询mysql数据库中的内容我们必须先连接mysql数据库,然后再利用sql语句进行查询,下面我们来看一些例子吧
    2014-02-02
  • php5.3 goto函数介绍和示例

    php5.3 goto函数介绍和示例

    goto操作符可以用来跳转到程序中的某一指定位置。该目标位置可以用目标名称 加上冒号来标记。
    2014-03-03
  • 详解Yii2 之 生成 URL 的方法

    详解Yii2 之 生成 URL 的方法

    本篇文章主要介绍了Yii2 之 生成 URL 的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • ThinkPHP3.1查询语言详解

    ThinkPHP3.1查询语言详解

    这篇文章主要介绍了ThinkPHP3.1查询语言,需要的朋友可以参考下
    2014-06-06
  • ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结

    ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结

    这篇文章主要介绍了ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结,是ThinkPHP路由访问的基础知识,在ThinkPHP开发中非常重要,需要的朋友可以参考下
    2014-08-08
  • php 提交表单 关闭layer弹窗iframe的实例讲解

    php 提交表单 关闭layer弹窗iframe的实例讲解

    今天小编就为大家分享一篇php 提交表单 关闭layer弹窗iframe的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • PHP 基于文件头的文件类型验证类函数

    PHP 基于文件头的文件类型验证类函数

    在PHP开发中,传统的上传文件类型验证是基于文件扩展名的验证方式(如pathinfo函数),很容易通过修改扩展名来欺骗
    2012-05-05
  • PHP实现多图上传和单图上传功能

    PHP实现多图上传和单图上传功能

    本文通过实例代码给大家介绍了基于PHP实现多图上传和单图上传功能,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05

最新评论

  • 一家人写14万字介绍白云山花草 2018-12-14
  • 正定--河北频道--人民网 2018-12-14
  • 北京工业大学:突出‘京味’、体现‘京韵’,加快世界一流大学和一流学科建设 2018-12-13
  • 把握和传承好“变则通”思想(大家手笔) 2018-12-12
  • 英国歌手世界杯开幕比不雅手势 恐遭逮捕并罚款5万 2018-12-11
  • 一图到底3分钟读懂上合峰会医疗保障,为何青睐这里 2018-12-11
  • 白岩松康辉撒贝宁欧阳夏丹 揭秘央视主播成功秘诀 2018-12-10
  • 女足热身不敌美国队 队员总结收获多 2018-12-09
  • 只要等一等就能多“等”出8600万美元! 2018-12-08
  • 中国人打仗?被逗了。独生子一代、捧在手里长大的90后00后、站在甲板上飒爽英姿、硝烟战火血肉横飞的场景、会失去行动能力的。这不是耸人听闻。 2018-12-08
  • 为生活外出奔波,留守老人与儿童,两地居住是租还是建? 2018-12-07
  • 哪些航空公司没改标“中国台湾”?这几家还耍起花招 2018-12-06
  • 当前金融市场流动性合理稳定 2018-12-05
  • 西咸新区四天18宗土地成交 土拍市场活跃三桥板块成焦点 2018-12-05
  • 【专题】节能降耗 保卫蓝天——浙江省暨杭州市2018年节能宣传周 2018-12-04
  • 584| 595| 798| 686| 198| 605| 148| 990| 368| 958|