Ⅰ 用自己的語言說出php中數組的常用函數和用法
array_filter : 過濾數組中的無效元素,可以使用回調函數過濾
array_map : 使用回調函數依次處理所有元素
implode: 將一維數組轉為特定符號隔開的字元串,
explode: 將特定符號隔開的字元串轉為一維數組
sort /ksort: 將數組進行升序排序
array_unique: 將數組元素去重
array_values: 取數組的值,重新組成新數組
array_pop: 取數組末尾元素並刪除(隊列)
array_push:將一個元素插入數組末尾(隊列)
array_sum:統計數組元素的和
array_column:將二維數組中的指定KEY取出組成一個一維數組
網頁鏈接
Ⅱ php如何刪除兩個數組中相同的元素
首先,我看到這個問題中描述是「如何刪除兩個數組中相同的元素」,雖然那個人寫了一大堆,竟然用的是array_unique(),從分析到給出的demo一直在解決如何刪除「一個」數組中「重復」的元素。汗!答非所問的答案竟然會被採納。
這里,簡單分析一下提問者的真實意圖,分以下2種情況:
1.現在有2個一維數組, $arr1和$arr2,現在要刪除 $arr1 中存在於 $arr2 的元素。
解決方案:使用array_diff對比返回在 array1 中但是不在 array2 及任何其它參數數組中的值,代碼如下:
<?php
$arr1=array(1,2,3,4);
$arr2=array(2,4);
//這一句即可
$arr1=array_diff($arr1,$arr2);
var_mp($arr1);
2.先聲明一下,我看了lt318025大神給出的答案,他的思維非常活躍,已經分了2種情況。
現在有2個一維數組,$a和$b,即刪除$a中存在於$b的元素,刪除$b中$a存在的元素,組後合並返回。
可是lt318025大神用的PHP版本太高,給出的demo在低版本PHP下運行失敗,這里修正一下:
<?php
$a=array(1,2,3);
$b=array(2,3,4);
//得到存在於$a但不存在於$b中的元素組成的數組
$c=array_diff($a,$b);
//這里簡單求出在$a但不在$b中的元素
var_mp($c);
//得到存在於$a但不存在於$b中的元素組成的數組與存在於$b但不存在於$a中的元素組成的數組的並集
$d=array_merge(array_diff($a,$b),array_diff($b,$a));
//這里徹底剔除了同時存在於$a和$b中的元素
var_mp($d);
究竟是哪一種情況,這需要看提問者的需求了。
Ⅲ PHP二維數組如何去掉重復值
方法一:
//二維數組去掉重復值
functionarray_unique_fb($array2D){
foreach($array2Das$v){
$v=join(',',$v);//降維,也可以用implode,將一維數組轉換為用逗號連接的字元串
$temp[]=$v;
}
$temp=array_unique($temp);//去掉重復的字元串,也就是重復的一維數組
foreach($tempas$k=>$v){
$temp[$k]=explode(',',$v);//再將拆開的數組重新組裝
}
return$temp;
}
方法二:
//二維數組去掉重復值,並保留鍵值
functionarray_unique_fb($array2D){
foreach($array2Das$k=>$v){
$v=join(',',$v);//降維,也可以用implode,將一維數組轉換為用逗號連接的字元串
$temp[$k]=$v;
}
$temp=array_unique($temp);//去掉重復的字元串,也就是重復的一維數組
foreach($tempas$k=>$v){
$array=explode(',',$v);//再將拆開的數組重新組裝
//下面的索引根據自己的情況進行修改即可
$temp2[$k]['id']=$array[0];
$temp2[$k]['title']=$array[1];
$temp2[$k]['keywords']=$array[2];
$temp2[$k]['content']=$array[3];
}
return$temp2;
}
Ⅳ 請教thinkphp 二維數組值去重怎麼去的哦
php提供了array_unique函數去除重復值。你可以這樣用:array_unique($array);