我有一个2d数组,其中包含'title'和'url'(两个字符串),如下所示。是否可以检查“url”中的重复项,如果存在,还删除相应的“标题”?
array
0 =>
array
'title' => string 'China - Wikipedia, the free encyclopedia'
'url' => string 'http://en.wikipedia.org/wiki/China'
1 =>
array
'title' => string 'China'
'url' => string 'http://www.state.gov/r/pa/ei/bgn/18902.htm'
2 =>
array
'title' => string 'China | World news | The Guardian'
'url' => string 'http://www.guardian.co.uk/world/china'
3 =>
array
'title' => string 'China Travel Information and Travel Guide - Lonely Planet'
'url' => string 'http://www.lonelyplanet.com/china'
4 =>
array
'title' => string 'ChinaToday.com'
'url' => string 'http://www.chinatoday.com/'
答案 0 :(得分:1)
尝试此功能可以完成工作
function super_unique($array,$key)
{
$temp_array = array();
foreach ($array as &$v) {
if (!isset($temp_array[$v[$key]]))
$temp_array[$v[$key]] =& $v;
}
$array = array_values($temp_array);
return $array;
}
$yourearray = super_unique($arr,'url');
答案 1 :(得分:1)
或者,如果您对使用网址的最后一个值感到满意,那么
foreach($array as $subarray) {
$output[$subarray['url']] = $subarray['title'];
}
答案 2 :(得分:0)
尝试这样的事情:
$originals = array();
foreach($array as $key => $value) {
if(!isset($originals[$value['url']])) {
$originals[$value['url']] = true;
}
else {
// exists already, delete entry
unset($array[$key]);
}
}