首頁 >後端開發 >PHP問題 >PHP數組學習提取出數字元素拼接為一個新數組

PHP數組學習提取出數字元素拼接為一個新數組

青灯夜游
青灯夜游原創
2021-08-26 19:20:123610瀏覽

在先前的文章中我們介紹了數組去空去重,即刪除數組中的空元素和重複元素的方法,感興趣的可以點擊鏈接進行查閱→《PHP數組學習之怎麼去除空白或重複的元素》。這次我們繼續PHP數組的學習與練習,來聊聊怎麼過濾數組,提取數字元素。

→相關推薦:PHP數組學習系列大匯總(持續更新~)

今天本文的主要的內容是:利用PHP來過濾數組,篩選出數字元素(數值或數字字串),然後將它們組合成一個新數組返回。

下面我們要為大家介紹兩種實作方法,先從我們熟悉的方法「foreach循環」開始,然後介紹使用PHP內建函數過濾陣列的方法。

方法1: 利用foreach語句

<?php 
$array = array("php", 11, &#39;&#39;, 12, "PHP中文网",13,"green",2021,"mysql","14",15); 
foreach($array as $value){
	if(is_numeric($value)){
		$result[]=$value;
	}
}
var_dump($result);
?>

分析程式碼:

  • 使用foreach語句遍歷數組,在每次循環中將鍵值賦給$value;

  • #利用is_numeric()函數偵測$value


#是否為數字或數字字串;

如果是數字或數字字串,則將

$valuePHP數組學習提取出數字元素拼接為一個新數組存入

$results

陣列中。

這樣$results數組中的全是$array數組中的數字元素,使用

var_dump($result)

,輸出結果為:

PHP數組學習提取出數字元素拼接為一個新數組

方法2:使用array_filter() 函數

在先前的文章中,我們已經知道array_filter() 函數可以用回呼函數來過濾數組中的元素,會將數組元素傳遞給回呼函數進行處理。
  • 直接給出實作程式碼:

    <?php 
    $array = array("php", 11, &#39;&#39;, 12, "PHP中文网",13,"green",2021,"mysql","14",15); 
    function filter_number($value){
    	if(is_numeric($value)){
    		return TRUE;
    	}
    }
    
    $result=array_filter($array,"filter_number");
    var_dump($result);
    ?>

    輸出結果為:
  • #下面來了解array_filter() 函數

  • array_filter() 函數會迭代數組中的每個值,將每個鍵值傳遞給使用者定義的函數或回呼函數;如果回呼函數傳回true,則將輸入數組中的目前鍵值傳回結果數組(數組鍵名保持不變)。語法格式為:
  • array_filter ($array , function callbackfn ($value[, $key]),$mode)

      $array :陣列對象,不可省略。
    • function callbackfn ($value[, $key])

      :回呼函數,可省略;若省略回呼函數,則預設過濾空值。

    • $mode:可省略,決定callback 接收的參數形式:

    ARRAY_FILTER_USE_KEY - callback 接受鍵名作為的唯一參數

ARRAY_FILTER_USE_BOTH - callback 同時接受鍵名和鍵值

預設值為 0 ,只傳遞值為 callback 回呼的唯一參數。

###############好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →###php影片教學#########最後推薦給大家一個PHP陣列的免費影片教學:###PHP函數之array陣列函數影片講解###,快來學習吧! ###

以上是PHP數組學習提取出數字元素拼接為一個新數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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