我要做的是对数组进行排序并删除多个重复项,这就是我所拥有的:
我使用 PHP Simple HTML DOM Parser 绘制 XML 文件并将其转换为数组,XML 的格式如下:
<Row>
<Cell ss:StyleID="s17"><Data ss:Type="String">Last Name</Data></Cell>
<Cell ss:StyleID="s17"><Data ss:Type="String">First Name</Data></Cell>
<Cell ss:StyleID="s17"><Data ss:Type="String">Address</Data></Cell>
<Cell ss:StyleID="s17"><Data ss:Type="String">City</Data></Cell>
<Cell ss:StyleID="s17"><Data ss:Type="String">Province</Data></Cell>
<Cell ss:StyleID="s17"><Data ss:Type="String">Postal Code</Data></Cell>
<Cell ss:StyleID="s17"><Data ss:Type="String">Year</Data></Cell>
</Row>
我希望将单元格的名字和姓氏组合起来,然后与数组的其余部分进行比较。
function search($array, $key, $value)
{
$results = array();
if (is_array($array))
{
if (isset($array[$key]) && $array[$key] == $value)
$results[] = $array;
foreach ($array as $subarray)
$results = array_merge($results, search($subarray, $key, $value));
}
return $results;
}
$simple = file_get_html('DOM/mail.xml');
$i = 0;
foreach($simple->find('row') as $article) {
$item['name'] = $article->find('cell', 0)->plaintext.' '.$article->find('cell', 1)->plaintext;
$item['address'] = $article->find('cell', 2)->plaintext;
$item['city'] = $article->find('cell', 3)->plaintext;
$item['province'] = $article->find('cell', 4)->plaintext;
$item['postal'] = $article->find('cell', 5)->plaintext;
$item['year'] = $article->find('cell', 6)->plaintext;
$item['count'] = $i;
$i++;
$articles[] = $item;
}
$a[] = "Buckley Terry";
$a[] = "test bar";
$a[] = "Grills Levi";
foreach ($a as $test) {
$b[] = search($articles, 'name', $test);
}
print_r($b);
但这所做的只是返回多个名称实例。即,如果只有一个条目,它将返回它。任何帮助都是极好的。