【发布时间】: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'));
这很好用,除了它只适用于“标题”的完全匹配。我怎样才能使这个返回部分匹配呢?
谢谢。
【问题讨论】:
-
你不能。 array_search() 仅完全匹配。您需要遍历数组并应用
strpos或preg_grep
标签: php multidimensional-array