【问题标题】:Return partial matches from multidimensional array search in PHP从 PHP 中的多维数组搜索返回部分匹配
【发布时间】:2016-01-02 06:41:45
【问题描述】:

我对 PHP 非常陌生,因此非常感谢这里的任何帮助。我有一个数组,我需要搜索并返回部分匹配和完全匹配。这是数组,也是我开始编写代码的地方:

$employeeList = array(
array(
    'action' => false,
    'title' => '2015 Performance Appraisal - Basille, Victor P.',
    'type' => 'Employee Assessment',
    'status' => 'Evaluate',
    'date' => 'Dec 12, 2015',
    'actions' => array('Start','Delete','View Progress','Manage Rater and Peers','Print'),
    'employeeName' => 'Basille, Victor P.',
    'employeeProgress' => 0,
    'employeeStatus' => 'Not Yet Started',
    'raterName' => 'Crane, Davy L.',
    'raterProgress' => 0,
    'raterStatus' => 'Not Yet Started',
    'peers' => 3,
    'peersComplete' => 0
),
array(
    'action' => true,
    'title' => '2015 Performance Appraisal - Bradford, Julie D.',
    'type' => 'Employee Assessment',
    'status' => 'Evaluate',
    'date' => 'Dec 12, 2015',
    'actions' => array('Resume','Reset','View Progress','Delete','Manage Rater and Peers','Print'),
    'employeeName' => 'Bradford, Julie D.',
    'employeeProgress' => 10,
    'employeeStatus' => 'In Progress',
    'raterName' => 'Crane, Davy L.',
    'raterProgress' => 60,
    'raterStatus' => 'In Progress',
    'peers' => 3,
    'peersComplete' => 1
),
array(
    'action' => false,
    'title' => '2015 Performance Appraisal - Fiedler, Joanne M.',
    'type' => 'Employee Assessment',
    'status' => 'Review',
    'date' => 'Dec 12, 2015',
    'actions' => array('View','Reset','Revert','View Progress','Print'),
    'employeeName' => 'Fiedler, Joanne M.',
    'employeeProgress' => 100,
    'employeeStatus' => 'Submitted',
    'raterName' => 'Fay, Lester P.',
    'raterProgress' => 100,
    'raterStatus' => 'Submitted',
    'peers' => 3,
    'peersComplete' => 3
)
);

$search_term = 'Victor';

$key = array_search($search_term, array_column($employeeList, 'title'));

这很好用,除了它只适用于“标题”的完全匹配。我怎样才能使这个返回部分匹配呢?

谢谢。

【问题讨论】:

标签: php multidimensional-array


【解决方案1】:

您需要的是preg_grep(),它在数组中搜索模式匹配元素并在数组中返回它们。 http://php.net/manual/en/function.preg-grep.php

$result_array = preg_grep("/{$keyword}/i",$employeeList)

【讨论】:

    猜你喜欢
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2011-10-19
    • 2019-10-20
    • 2014-09-07
    • 2014-04-16
    相关资源
    最近更新 更多