小技巧

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

<?php

$url = "http://www.abc.com/demo.jpg";

$headers = @get_headers($url);

if($headers[0] == 'HTTP/1.1 404 Not Found')

{

 echo "URL not Exists";

}

else

{

 echo "URL Exists";

}

?>

  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

  <?php

$url = "http://www.domain.com/demo.jpg";

$curl = curl_init($url);

curl_setopt($curl, CURLOPT_NOBODY, true);

$result = curl_exec($curl);

if ($result !== false)

{

 $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

 if ($statusCode == 200)

 {

 echo "URL Exists"

 }

}

else

{

 echo "URL not Exists";

}

?>

  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;
相關文章
相關標籤/搜索