首頁 後端開發 php教程 PHP函數手冊之array_filter()

PHP函數手冊之array_filter()

Jun 20, 2023 am 11:39 AM
php函數 array_filter() 手冊

PHP函數手冊之array_filter()

PHP作為一門優秀的程式語言,有著極為豐富的內建函數和外部擴充函式庫。數組是PHP中非常常見且重要的資料類型,因此PHP的函數庫中針對數組的操作函數也是非常豐富的。 array_filter()函數是其中一個非常實用的函數,它可以用來過濾陣列中的元素,讓我們來詳細了解它的用法。

一、函數概述

array_filter()函數是用來過濾數組中元素的函數,它會傳回一個新的數組,新數組中的元素是由原始數組中的元素所依照某個條件篩選而來。根據官方文件的定義,它的語法如下:

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

其中,$array表示待過濾的原始數組,$callback是可選的回呼函數參數,$flag是可選的遮罩參數。

二、函數參數

  1. $array

#$array表示待過濾的原始數組。這個參數必須是一個陣列類型。如果這個參數不是一個數組,那麼將會傳回一個空數組。

  1. $callback

$callback是可選的回呼函數參數。它的回傳值必須是布林型。如果$callback函數沒有給出或為null,則array_filter()函數將會判斷原數組中的所有元素是否為真值,並且傳回值為真的元素將被收集到新數組中。

  1. $flag

$flag是可選的遮罩參數。它可以取三個值:

  • ARRAY_FILTER_USE_KEY - 為回呼函數傳遞鍵名而不是值。
  • ARRAY_FILTER_USE_BOTH - 為回呼函數傳遞鍵名和值。
  • 預設值為0,表示預設僅為回呼函數傳遞值。

三、函數傳回值

array_filter()函數的回傳值是一個新陣列。新數組中只包含來源數組中符合條件的元素。如果傳回的新陣列是空的,那麼將會傳回一個空的陣列。

四、函數範例

下面我們透過一些範例來示範array_filter()函數的使用方法。

  1. 過濾偶數

// 濾出陣列中的偶數
function filter_odd($var)
{

return ($var & 1) == 0;
登入後複製

}
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$filtered_arr = array_filter($arr, "filter_odd");
print_r($filtered_arr );

#輸出:

Array
(

[1] => 2
[3] => 4
[5] => 6
[7] => 8
[9] => 10
登入後複製

)

在這個範例中,我們定義了一個回呼函數filter_odd()來過濾數組中的偶數。在呼叫array_filter()函數時,將這個回呼函數作為$callback參數傳入。函數傳回一個新的數組,新數組中僅包含原始數組中的偶數。

  1. 篩選中的空值

// 過濾出陣列中的非空元素
$arr = ["", "hello", NULL, " world", false, 0, [], " ", "test"];
$filtered_arr = array_filter($arr);
print_r($filtered_arr);

#輸出:

Array
(

[1] => hello
[3] => world
[7] =>  
[8] => test
登入後複製

)

在這個範例中,我們沒有指定$callback參數,array_filter()函數會判斷陣列中所有的元素是否為真值,而空字串、NULL、false、0、空數組都被認為是假值,因此不會被收入新的陣列中。

  1. 過濾出數組中長度大於2的字串

// 過濾出數組中長度大於2的字串
$arr = ["php" , "html", "css", "js"];
$filtered_arr = array_filter($arr, function($var) {

return strlen($var) > 2;
登入後複製

});
print_r($filtered_arr);

輸出:

Array
(

[0] => php
[1] => html
[2] => css
登入後複製

)

在這個範例中,我們沒有指定$flag參數,但我們使用了一個匿名函數作為$callback,這個函數用來判斷字串是否長度大於2。函數傳回一個新的數組,其中僅包含長度大於2的字串。

五、總結

array_filter()函數是一個非常實用的陣列運算子,可以幫助我們過濾掉不需要的數據,只保留有用的數據,讓數據更精簡。它能夠帶來很大的便利,可以輕鬆完成一些陣列操作任務,提高PHP程式的開發效率。

以上是PHP函數手冊之array_filter()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1658
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
如何透過php函數優化圖片懶加載效果? 如何透過php函數優化圖片懶加載效果? Oct 05, 2023 pm 12:13 PM

如何透過PHP函數優化圖片懶載入效果?隨著網路的發展,網頁中的圖片數量越來越多,這給頁面載入速度帶來了壓力。為了提高使用者體驗,減少載入時間,我們可以採用圖片懶載入技術。圖片懶加載可以延遲圖片的加載,只有當用戶滾動到可視區域時才加載圖片,這樣可以減少頁面的加載時間,提升用戶體驗。在編寫PHP網頁時,我們可以透過寫一些函數來優化圖片懶載入效果。下面詳

如何透過php函數來減少記憶體的使用? 如何透過php函數來減少記憶體的使用? Oct 05, 2023 pm 01:45 PM

如何透過PHP函數來減少記憶體的使用在開發中,記憶體的使用是一個很重要的考量。如果在程式中使用大量的內存,可能會導致運行速度變慢甚至程式崩潰。因此,合理地管理和減少記憶體的使用是每個PHP開發者都應該關注的問題。本文將介紹一些透過PHP函數來減少記憶體使用的方法,並提供具體的程式碼範例供讀者參考。使用unset()函數釋放變數在PHP中,當一個變數不再需要時,使用

PHP Deprecated: Function ereg_replace() is deprecated - 解決方法 PHP Deprecated: Function ereg_replace() is deprecated - 解決方法 Aug 18, 2023 am 10:48 AM

PHPDeprecated:Functionereg_replace()isdeprecated-解決方法在使用PHP進行開發時,我們經常會遇到一些函數被宣佈為已廢棄(deprecated)的問題。這意味著在最新的PHP版本中,這些函數可能會被刪除或被取代。其中一個常見的例子就是ereg_replace()函數。 ereg_replace

PHP影像處理函數實現圖片編輯和處理功能的方法總結 PHP影像處理函數實現圖片編輯和處理功能的方法總結 Nov 20, 2023 pm 12:31 PM

PHP影像處理函數是一組專門用於處理和編輯影像的函數,它們為開發人員提供了豐富的影像處理功能。透過這些函數,開發人員可以實現圖片的裁剪、縮放、旋轉、浮水印添加等操作,從而滿足不同的圖片處理需求。首先,我將介紹如何使用PHP影像處理函數來實現圖片的裁切功能。 PHP提供了imagecrop()函數,可以用來裁切影像。透過傳遞裁剪區域的座標和大小,我們可以實現圖片的裁

PHP函數介紹—curl_multi_getcontent(): 取得一個cURL會話的內容 PHP函數介紹—curl_multi_getcontent(): 取得一個cURL會話的內容 Jul 26, 2023 pm 03:01 PM

PHP函數介紹—curl_multi_getcontent():取得一個cURL會話的內容在PHP開發中,我們常常需要透過網路去請求其他伺服器的資料。而cURL(ClientURL)是一個功能強大的PHP擴充庫,用於在PHP中進行網路通訊。 cURL提供了一系列的函數,其中之一就是curl_multi_getcontent(),它用來取得一個cURL會話的

PHP函數介紹:strtr()函數 PHP函數介紹:strtr()函數 Nov 03, 2023 pm 12:15 PM

PHP函數介紹:strtr()函數在PHP程式設計中,strtr()函數是一個非常有用的字串替換函數。它用於將字串中的指定字元或字串替換為其他字元或字串。本文將介紹strtr()函數的用法,並給出一些具體的程式碼範例。 strtr()函數的基本語法如下:strtr(string$str,array$replace)其中,$str是要進行替換運算的原始字

PHP函數的效能如何? PHP函數的效能如何? Apr 18, 2024 pm 06:45 PM

不同PHP函數的效能對應用程式效率至關重要。效能較好的函數包括echo、print,而str_replace、array_merge、file_get_contents等函數效能較慢。例如,str_replace函數用於替換字串,性能中等,而sprintf函數用於格式化字串。效能分析表明,執行一個範例僅需0.05毫秒,證明了函數效能良好。因此,明智地使用函數可以建立更快、更有效率的應用程式。

PHP 函數與其他語言函數的比較 PHP 函數與其他語言函數的比較 Apr 10, 2024 am 10:03 AM

PHP函數與其他語言的函數有相似之處,也有一些獨特之處。在語法上,PHP函數用function聲明,JavaScript用function聲明,Python用def聲明。參數和傳回值方面,PHP函數可接受參數並傳回一個值,JavaScript和Python也有類似功能,但語法不同。範圍上,PHP、JavaScript和Python的函數均具有全域或局部範圍,全域函數可從任意位置訪問,局部函數只能在其聲明作用域內存取。

See all articles