php對數(shù)組操作并返回一個新的數(shù)組

我們經(jīng)常會對數(shù)據(jù)庫中查詢的數(shù)據(jù)進(jìn)行一些列處理之后再返回這個數(shù)據(jù),而經(jīng)常用到的就是對數(shù)組處理之后再返回給前臺,在laravel中我們經(jīng)常用到這些:

//假設(shè)有個數(shù)組$array,我們需要對數(shù)組中的每一項的屬性name進(jìn)行截取之后再返回。
$arrays = array_map(function($array){
                    $array->name = mb_substr($array->name,-2);
                    return $array;
                }, $arrays);
//可以看出,首先把數(shù)組循環(huán)出來的每一項$array傳遞給了array_map()函數(shù);
//然后,我把數(shù)組每一項的name進(jìn)行了截取并賦值給了$array->name;
//array_map()函數(shù)處理完之后形成了一個新的數(shù)組,我把這個數(shù)組賦值給了原來的數(shù)組;

在上面這個代碼片段中,有亮點需要注意的地方:

1.array_map() 函數(shù)將用戶自定義函數(shù)作用到數(shù)組中的每個值上,并返回用戶自定義函數(shù)作用后的帶有新值的數(shù)組。
回調(diào)函數(shù)接受的參數(shù)數(shù)目應(yīng)該和傳遞給 array_map() 函數(shù)的數(shù)組數(shù)目一致。
提示:您可以向函數(shù)輸入一個或者多個數(shù)組

語法:array_map(myfunction,array1,array2,array3...)

2.php用substr截取中文時經(jīng)常會出現(xiàn)亂碼,因為utf-8下漢字是3字節(jié)的,如果截取長度正好是3的倍數(shù)應(yīng)該不會出現(xiàn)亂碼,可是如果你要截取的字符串中有空格,或者其他字符(比如 “ ”),也會出現(xiàn)亂碼。
當(dāng)然,php會給出官方的解決辦法。mb_substr 和 mb_strcut,需要在php.ini中打開php_mbstring.dll.

<?php   
    echo mb_substr("這里沒有亂碼!",0,3,"utf-8");
    //視為字符流
?>
<?php
    echo mb_strcut("這里沒有亂碼!",0,3,"utf-8");
    //視為字節(jié)流,utf-8下一個漢字三個字節(jié)
?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對數(shù)據(jù)進(jìn)行解...
    上街買菜丶迷倒老太閱讀 1,510評論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對數(shù)據(jù)進(jìn)行解包。 uni...
    思夢PHP閱讀 2,146評論 1 24
  • Javascript有很多數(shù)組的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺得API上說的不全,M...
    頑皮的雪狐七七閱讀 4,501評論 0 6
  • PHP7 已經(jīng)出來1年了,PHP7.1也即將和大家見面,這么多好的特性,好的方法,為什么不使用呢,也希望PHP越來...
    夢幻_78af閱讀 2,235評論 1 10
  • 每次假期,離開學(xué)校回到家里,總會遇見曾經(jīng)熟悉的地方,還有,曾經(jīng)熟悉的人。家,有時候不僅僅是你身邊的人還有身邊的環(huán)境...
    木筆筏閱讀 368評論 0 0

友情鏈接更多精彩內(nèi)容