1.使用遞歸獲取樹中值:php
function tree($arr, $pid = 0){
$result = array();
foreach ($arr as $key => $value) {
if ($value['pid'] == $pid) {
$result[] = $v;
tree($arr, $v['id']);
}
}
return $result;
}mysql
2.//array_filter過濾某個數組中值爲空的數據
$userInfo = array_filter($userInfo,create_function('$v','return !empty($v);'));sql
3.//array_map能夠將數組info中某個值actual_amount獲取,經過array_sunm求和
$total = array_sum(array_map(function($val) {
return $val['actual_amount'];
}, $info));數組
4.//array_multisort將數組按某個key值自定義正序/倒序排列
$hardwareGoods = array_values($hardwareGoods);
foreach($hardwareGoods as $key=>$val){
$infos = array();
foreach($val['hardwareList'] as $k => $v){
$infos[] = $v['sort'];
}
if($infos) {
array_multisort($infos, SORT_ASC, $hardwareGoods[$key]['hardwareList']);
}
}dom
5.PHP檢測連接是否存在curl
在PHP中,檢查某個連接是否存在,有兩個方法,一個是使用curl,另一個是
得到HTTP的header的響應碼,若是是200的則是OK,若是是404的話就找不到了,例子以下:url
1) 使用get_headers: spa
1.net 2code 3 4 5 6 7 8 9 10 11 12 13 |
|
get_headers中有第2個參數,是true的話,結果將會是個關聯數組
2) 使用CURL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
CURLOPT_NOBODY指定了只是創建鏈接,而不取整個報文的內容
6.二維數組中某個重複字段的值只保留此字段第一次出現的值,後來出現的值進行修改
$oIdLists = array_column($data,"oId"); //$data爲須要處理的二維數組
$oIdList = array_unique($oIdLists);
$repeat = array_diff_assoc($oIdLists,$oIdList);
$new = array_keys($repeat);
foreach($new as $k => $v){
$data[$v]["oId"] = 0;
}
return $data;
7.文章列表搜索
function arrList($arrs,$keywords=NULL,$type=array('title')){
foreach ($arrs as $key => $searchData) {
$arr = array();
foreach($searchData as $values=>$v ) {
for ($i=0;$i<count($type);$i++){
if ($values==$type[$i]){
array_push($arr, $values);
}
}
}
for ($a=0;$a<count($arr);$a++){
if (strpos($searchData[$arr[$a]],$keywords)) {
$result[] = $searchData;
}
}
}
return $result;
}
七、mysql查詢某字段值重複的數據
select user_name,count(*) as count from user group by user_name having count>1;