實作步驟:1、自訂一個篩選函數,用於處理數組,傳回值不等於3的數組元素,語法為「function 函數名稱($num){return($num!=3) ;}」;2、使用array_filter()函數呼叫自訂的過濾函數處理指定陣列即可,「array_filter($arr,"函數名稱")」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在php中,可以使用array_filter ()函數過濾數組,除去值等於3的元素,即保留值不等於3的元素。
array_filter() 函數用回呼函數過濾陣列中的元素。
此函數把輸入陣列中的每個鍵值傳給回呼函數。如果回呼函數傳回 true,則把輸入數組中的目前鍵值傳回給結果陣列。數組鍵名保持不變。
實作方法:只要在array_filter() 函數呼叫的回呼函數中,設定條件,傳回值不等於3的陣列元素即可。
<?php function f($num){ return($num!=3); } $arr=array(1,2,3,4,5,6,5,4,3,2,1); var_dump($arr); $res=array_filter($arr,"f"); var_dump($res); ?>
說明:
#array_filter — 使用回呼函數過濾陣列的元素
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
參數:
◇array:要遍歷的陣列
◇callback:使用的回呼函數
如果沒有提供callback 回呼函數,將會刪除陣列中array 的所有「空」元素。有關 PHP 如何判定「空」元素,請參閱 empty() 。
◇mode決定哪些參數傳送到callback 回呼的標誌:
ARRAY_FILTER_USE_KEY - 將鍵名稱作為callback 回呼的唯一參數,而不是值
#ARRAY_FILTER_USE_BOTH - 將值和鍵都作為參數傳遞給callback 回調,而不是僅傳遞值
預設值為0 ,只傳遞值作為callback 回調的唯一參數。
傳回值:傳回過濾後的陣列。
array_filter遍歷 array 陣列中的每個值,並將每個值傳給 callback 回呼函數。如果 callback 回呼函數傳回 true,則將 array 陣列中的目前值回傳至結果 array 陣列中。
傳回結果 array 陣列的鍵名(下標)會維持不變,如果 array 參數是索引數組,則回傳的結果 array 數組鍵名(下標)可能會不連續。可以使用 array_values() 函數重新索引陣列。
當使用array_filter()函數來宣告回呼函數時,它會刪除false值(空值),但是,如果未指定回呼函數,則將刪除數組中值等於FALSE的所有元素,例如空字串或NULL值。
推薦學習:《PHP影片教學》
以上是php數組怎麼除去值等於3的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!