bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

PHP:數組操作函數array_walk()和array_map()-創新互聯

 array_map()的函數原型為:array array_map ( callback callback, array arr1 [, array ...] )

創新互聯建站專注于企業全網整合營銷推廣、網站重做改版、龍井網站定制設計、自適應品牌網站建設、H5頁面制作、商城網站建設、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為龍井等各大城市提供網站開發制作服務。

 array_map() 返回一個數組,該數組包含了arr1中的所有單元經過callback作用過之后的單元。callback接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致。

  callback函數就是array_map所將調用來處理元素單元函數,應以字符串的形式將函數名傳遞給array_map()

 如:(php官方手冊所給出的代碼)

        <?php
            functioncube($n)
            {
                return($n*$n* $n);
            }

            $a= array(1, 2,3,4,5);
            $b =array_map("cube", $a);
            print_r($b);
        ?>

    cube即為callback函數 ,且array_map的callback函數的參數每一個應均為數組的元素,也就是array_map()除了第一個參數外,其余參數應均為數組且應與回調函數的參數個數一樣.

<?php //callback 1 function  check($n) { //array_mapcallback的參數為數組的元素, //也就是callback中有幾個參數array_map就應傳入幾個數組 if($n>100) { return  $n-10; }else  { return  $n; } } //callback 2 function  add($a,$b) { return  $a+$b; } $arr = array(101,85,35,105,99,109);// var_dump($arr); $brr = array(1,2,3,4,5,6); $arr = array_map("check", $arr); $brr = array_map("add", $arr,$brr); print_r($arr); echo "<br/>"; print_r($brr); ?>

輸出結果

array (size=6)   0 => int 101   1 => int 85   2 => int 35   3 => int 105   4 => int 99   5 => int 109

Array (   [0] => 91   [1] => 85   [2] => 35   [3] => 95   [4] => 99   [5] => 99 )
Array (   [0] => 92   [1] => 87   [2] => 38   [3] => 99   [4] => 104   [5] => 105 )

========================================================================================

              我是分割線

========================================================================================


  與array_map()不同array_walk()的返回值是布爾型,也就是如果想要修改數組的數據,應該在callback函數上做手腳(也就是引用)

  array_walk()會將數組的元素的值,以及鍵值傳遞給callback函數,此外還允許傳遞其類型的數據給callback函數.

  以下為其原型以及官方文檔:

bool array_walk ( array &array, callback funcname [, mixed userdata] )

如果成功則返回 TRUE,失敗則返回 FALSE。

將用戶自定義函數funcname應用到array數組中的每個單元。典型情況下funcname接受兩個參數。array參數的值作為第一個,鍵名作為第二個。如果提供了可選參數userdata,將被作為第三個參數傳遞給 callbackfuncname。

如果funcname函數需要的參數比給出的多,則每次 array_walk() 調用funcname時都會產生一個 E_WARNING 級的錯誤。這些警告可以通過在 array_walk() 調用前加上 PHP 的錯誤操作符 @ 來抑制,或者用 error_reporting()。

注:如果funcname需要直接作用于數組中的值,則給funcname的第一個參數指定為引用。這樣任何對這些單元的改變也將會改變原始數組本身。

注:將鍵名和 userdata 傳遞到funcname中是 PHP 4.0 新增加的。

array_walk() 不會受到array內部數組指針的影響。array_walk() 會遍歷整個數組而不管指針的位置。

用戶不應在回調函數中改變該數組本身。例如增加/刪除單元,unset 單元等等。如果 array_walk() 作用的數組改變了,則此函數的的行為未經定義,且不可預期。

  以下是我自己寫的一個簡單的例子:

<?php function alter(&$value,$key,$userdata) {         //在此處不對元素值做任何修改,如果想要修改則需像我一樣給參數加上引用 echo $key.$userdata.$value.'<br/>'; } $arr = array("a"=>"A","b"=>"B","c"=>"C","d"=>"D"); //array_walk -- 對數組中的每個成員應用用戶函數 //函數原型:bool array_walk ( array &array, callback funcname [, mixed userdata] ) //第一個參數為 數組 //第二個參數為 callback函數名, //第三個參數為 可選參數(將傳遞給所callback的函數) //============================================================================== //array_map()將傳遞callback 函數的 的 //第一個參數是元素的值,如需修改則應加上 &操作符 //第二個參數為鍵值,如需修改則作如上處理 //第三個參數為用戶自己傳遞給函數的數據(即array_walk()中的第三個參數) array_walk($arr,'alter',".is."); ?>

輸出
a.is.A
b.is.B
c.is.C
d.is.D

----------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------




另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享標題:PHP:數組操作函數array_walk()和array_map()-創新互聯
網站地址:http://vcdvsql.cn/article34/ccscse.html

成都網站建設公司_創新互聯,為您提供建站公司微信公眾號、品牌網站設計動態網站虛擬主機、外貿網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營