6.5.6 PHP使用回調函數處理數組的函數array_filter()

6.5.6 PHP使用回調函數處理數組的函數array_filter()

使用回調函數處理數組的函數

array_filter -- 用回調函數過濾數組中的單元
語法:rray array_filter ( array input [, callback callback] )
依次將 input 數組中的每個值傳遞到 callback 函數。如果 callback 函數返回 TRUE,則 input 數組的當前值會被包含在返回的結果數組中。數組的鍵名保留不變。
如果沒有提供 callback 函數,array_filter() 將刪除 input 中所有等值為 FALSE 的條目。

array_walk--對數組中的每個成員應用用戶函數
語法:bool array_walk ( array &array, callback funcname [, mixed userdata] )
如果成功則返回 TRUE,失敗則返回 FALSE。
將用戶自定義函數 funcname 應用到 array 數組中的每個單元。典型情況下 funcname 接受兩個參數。array 參數的值作為第一個,鍵名作為第二個。如果提供了可選參數 userdata,將被作為第三個參數傳遞給 callback funcname。
array_walk() 不會受到 array 內部數組指針的影響。array_walk() 會遍歷整個數組而不管指針的位置。

v:* {behavior:url(#default#VML);}o:* {behavior:url(#default#VML);}p:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}v:textbox {display:none;}
幻燈片 5
.O {font-size:149%;}

?array_map -- 將回調函數作用到給定數組的單元上
–語法: array array_map ( callback callback, array arr1 [, array ...] )
–array_map() 返回一個數組,該數組包含了 arr1 中的所有單元經過 callback作用過之后的單元。callback接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致。
?

例test.php

<?php

//  $lamp = array("os"=>"Linux", "webserver"=>"Apache","db"=>"MySQL", "language"=>"PHP");


   $arr = array(1,2,3,-4,false,5,6,7,8,9,"",-1-2-3,4,null,-5-6-7-8, 0);

   
   var_dump($arr);
   echo '<br>';


   var_dump(array_filter($arr));

   function myfun($value) {
       if($value >= 0)
           return true;
       else
           return false;   
   }


   var_dump(array_filter($arr, "myfun"));


   var_dump( array_values( array_filter($arr, function($value){
       return !($value%2==0);
   
   }) ));
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容