首頁  >  文章  >  後端開發  >  php怎麼去掉陣列中的字串

php怎麼去掉陣列中的字串

PHPz
PHPz原創
2023-04-26 09:14:59627瀏覽

在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中文網其他相關文章!

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