在PHP中,我們經常需要對陣列進行操作。其中一個常見的操作是去掉數組中的字串。本文將介紹如何使用PHP中的函數和方法來實作此操作。
一、使用函數array_filter()
函數array_filter()是PHP中的內建函數,可以從陣列中去掉一些值。它的使用方法如下:
array_filter(array $input, callable $callback = "?"): array
其中,參數$input是需要處理的數組,參數$callback是一個可選的回調函數,用來決定哪些數組元素被保留。
下面是一個例子:
$my_array = [1, 2, 'hello', 'world']; $filtered_array = array_filter($my_array, function($element) { return (!is_string($element)); //返回true表示要保留该元素,返回false表示要去掉该元素 }); print_r($filtered_array); //输出:Array ( [0] => 1 [1] => 2 )
在上面的範例中, $filtered_array中只包含了整數元素1和2。
二、使用函數array_map()
函數array_map()也是一個PHP內建函數,它可以將一個數組轉換成另一個數組,同時可以對其中的每個元素進行自定義操作。使用array_map()可以將一個陣列中的字串去掉,具體方法如下:
array_map(callable $callback , array $array , array ...$arrays): array
其中,參數$callback是一個回呼函數,用於對數組中的每個元素進行操作,參數$array是待處理的數組,參數$arrays是可選的其他數組。
以下是一個例子:
$my_array = [1, 2, 'hello', 'world']; $filtered_array = array_map(function($element) { if(is_string($element)) { //如果是字符串,则返回null,表示要去掉该元素 return null; } else { //否则返回元素本身 return $element; } }, $my_array); print_r($filtered_array); //输出:Array ( [0] => 1 [1] => 2 [2] => [3] => )
在上面的範例中, $filtered_array中只包含了整數元素1和2。
三、使用array_intersect()
函數array_intersect()用於比較兩個或多個數組,傳回一個包含所有數組中都存在的元素的數組。我們可以使用該函數去掉數組中的字串。
以下是一個例子:
$my_array = [1, 2, 'hello', 'world']; $filtered_array = array_intersect($my_array, array_filter($my_array, 'is_int')); print_r($filtered_array); //输出:Array ( [0] => 1 [1] => 2 )
在上面的範例中, $filtered_array中包含了不包含任何字串的整數元素1和2。
總結
在PHP中,我們可以使用多種方法去掉陣列中的字串。本文介紹了一些常用的方法,包含函數array_filter(),函數array_map()和函數array_intersect()。使用這些函數可以幫助我們更方便地進行陣列操作。
以上是php怎麼去掉陣列中的字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!