PHP 新手入门指南 - 数组过滤

让我们来点插曲,了解下如何进行一些数据操作,这里会讲到如何通过数组函数对数据进行过滤数据提取。

小实践

建立一个 index.php 文件。在这其中,我们先定义个类 Post 和相应数据

title = $title;
        $this->published = $published;
    }
}

$posts = [
    new Post('My First Post', true),
    new Post('My Second Post', true),
    new Post('My Third Post', true),
    new Post('My Fourth Post', false)
];

接下来我们要对 $posts 数组进行一些操作。

array_filter

array_filter — 用回调函数过滤数组中的单元。更多内容

在文件 index.php 中追加内容:

// 过滤数据得到未发布的文章
$unpublishedPosts = array_filter($posts, function($post) {
    return ! $post->published;
});
var_dump($unpublishedPosts);

// 过滤得到已发布的文章
$publishedPosts = array_filter($posts, function($post) {
    return $post->published;
});
var_dump($publishedPosts);

array_map

array_map — 为数组的每个元素应用回调函数。更多内容

// 调整数据格式
$modified = array_map(function($post) {
    return ['title' => $post->title];
}, $posts);

array_column

array_column — 返回数组中指定的一列。更多内容

// 提取列(这里前提是 title 作为 Post 的属性其访问修饰符必须是 public)
$titles = array_column($posts, 'title');

var_dump($titles);

最后

这里简单介绍了如何通过数组函数过滤大操作相关的数据,如果想要了解更多关于数组函数的信息,请参考 PHP手册:数组函数

你可能感兴趣的:(PHP 新手入门指南 - 数组过滤)