关于 PHP 函数 array filter 的一些想法

发布于 2024-12-10 23:52:36 字数 1791 浏览 3 评论 0

array_filter

(PHP 4 >= 4.0.6, PHP 5, PHP 7) array_filter — 用回调函数过滤数组中的单元

说明

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。

参数

  • array
    • 要循环的数组
  • callback
    • 使用的回调函数
    • 如果没有提供 callback 函数, 将删除 input 中所有等值为 FALSE 的条目。更多信息见转换为布尔值。
  • flag
    • 决定 callback 接收的参数形式:
      • ARRAY_FILTER_USE_KEY - callback 接受键名作为的唯一参数
      • ARRAY_FILTER_USE_BOTH - callback 同时接受键名和键值

返回值

返回过滤后的数组。

范例

<?php

$graphics_card = [
    [
        'brand'=>'华硕',
        'model'=>'GTX980(Ti)',
        'status'=>1,
    ],
    [
        'brand'=>'技嘉',
        'model'=>'GTX970',
        'status'=>0,
    ],
    [
        'brand'=>'微星',
        'model'=>'GTX960',
        'status'=>1,
    ],
    [
        'brand'=>'七彩虹',
        'model'=>'GTX950',
        'status'=>0,
    ],
];

$data = [
    'int'=>0,
    'null'=>null,
    'bool'=>false,
    'string'=>'hello',
    'number'=>506510463,
    'int-string'=>'0',
    'null-string'=>'',
];
var_dump(array_filter($data));

var_dump(array_filter($data, function ($value) { if (!empty($value)) {
     return $value;
 }}));

var_dump(array_filter($data, 'strlen'));

var_dump(array_map('intval', $data));

var_dump(array_map(function ($value) { if (!empty($value)) {
    return $value;
}}, $data));

var_dump(array_filter(array_map(function ($value) { if ($value['status']===1) {
     return $value['brand'].$value['model'];
 }}, $graphics_card)));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

两人的回忆

暂无简介

0 文章
0 评论
25 人气
更多

推荐作者

浪漫人生路

文章 0 评论 0

620vip

文章 0 评论 0

羞稚

文章 0 评论 0

走过海棠暮

文章 0 评论 0

你好刘可爱

文章 0 评论 0

陌若浮生

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文