1 =>
array (size=20)
'id' => string '19' (length=2)
'title' => string '总统套房' (length=12)
2 =>
array (size=20)
'id' => string '20' (length=2)
'title' => string '豪华套房' (length=12)
3 =>
array (size=20)
'id' => string '21' (length=2)
'title' => string '豪华套房' (length=12)
4 =>
array (size=20)
'id' => string '22' (length=2)
'title' => string '豪华套房' (length=12)
求结果输出为:总统套房,豪华套房
<?php
$array = array(
array(
'id' => 19,
'title' => '总统套房'
),
array(
'id' => 20,
'title' => '豪华套房'
),
array(
'id' => 21,
'title' => '豪华套房'
),
array(
'id' => 22,
'title' => '总统套房'
),
);
foreach ($array as $key => $value) {
foreach ($value as $k => $v) {
if ($k == 'title') {
$new_arr[] = $v;
}
}
}
$arr = array_unique($new_arr);
echo implode(',', $arr);
?>
$array = array(
array(
'id' => 19,
'title' => '总统套房'
),
array(
'id' => 20,
'title' => '豪华套房'
),
array(
'id' => 21,
'title' => '豪华套房'
),
array(
'id' => 22,
'title' => '总统套房'
),
);
foreach ($array as $key => $value) {
foreach ($value as $k => $v) {
if ($k == 'title') {
$new_arr[] = $v;
}
}
}
$arr = array_unique($new_arr);
echo implode(',', $arr);
?>
望采纳 Thx
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-08-27
之前写了一篇关于数组去重的文章,但是仅限于一维数组。下面的函数可以用于二维数组:
//二维数组去掉重复值
function array_unique_fb($array2D){foreach ($array2D as $v){$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[] = $v;}
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k => $v){$temp[$k] = explode(",",$v); //再将拆开的数组重新组装}return $temp;}
如果你想保留数组的键值,可以用下面的函数:
//二维数组去掉重复值 并保留键值
function array_unique_fb($array2D){foreach ($array2D as $k=>$v){$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[$k] = $v;}$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k => $v){$array=explode(",",$v); //再将拆开的数组重新组装
$temp2[$k]["id"] =$array[0];
$temp2[$k]["litpic"] =$array[1];
$temp2[$k]["title"] =$array[2];
$temp2[$k]["address"] =$array[3];
$temp2[$k]["starttime"] =$array[4];
$temp2[$k]["endtime"] =$array[5];
$temp2[$k]["classid"] =$array[6];
大概就这样啦。
以上回答你满意么?
//二维数组去掉重复值
function array_unique_fb($array2D){foreach ($array2D as $v){$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[] = $v;}
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k => $v){$temp[$k] = explode(",",$v); //再将拆开的数组重新组装}return $temp;}
如果你想保留数组的键值,可以用下面的函数:
//二维数组去掉重复值 并保留键值
function array_unique_fb($array2D){foreach ($array2D as $k=>$v){$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[$k] = $v;}$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k => $v){$array=explode(",",$v); //再将拆开的数组重新组装
$temp2[$k]["id"] =$array[0];
$temp2[$k]["litpic"] =$array[1];
$temp2[$k]["title"] =$array[2];
$temp2[$k]["address"] =$array[3];
$temp2[$k]["starttime"] =$array[4];
$temp2[$k]["endtime"] =$array[5];
$temp2[$k]["classid"] =$array[6];
大概就这样啦。
以上回答你满意么?
第2个回答 推荐于2016-02-20
可以利用数组key不重复的特性,来解决这个问题
$new_array = array();
foreach($array as $v){
$new_array[$v['title']]=1;
}
$last = array();
foreach($new_array as $u=>$v){
$last[] = $u;
}
echo join(',',$last);本回答被提问者采纳