php正則能匹配數(shù)組。在php中,可以利用preg_grep()函數(shù)來(lái)使用正則表達(dá)式匹配數(shù)組中的元素;該函數(shù)可以搜索數(shù)組中的每一個(gè)元素,并返回與正則表達(dá)式匹配的所有元素所組成的數(shù)組,語(yǔ)法“preg_grep(正則表達(dá)式,數(shù)組,$flags)”;參數(shù)“$flags”是可選的,當(dāng)值設(shè)置為“PREG_GREP_INVERT”,則會(huì)返回?cái)?shù)組中與與正則表達(dá)式不匹配的元素組成的數(shù)組。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php正則能匹配數(shù)組。
在php中,說(shuō)到正則匹配就想到字符串。其實(shí)使用正則表達(dá)式除了可以匹配字符串外,還可以匹配數(shù)組。
在php中,可以利用preg_grep()函數(shù)來(lái)使用正則表達(dá)式匹配數(shù)組中的元素。
preg_grep() 函數(shù)可以搜索數(shù)組中的所有元素,并返回與正則表達(dá)式匹配的所有元素所組成的數(shù)組。該函數(shù)的語(yǔ)法格式如下:
preg_grep($pattern, $input [, $flags = 0 ])
參數(shù)說(shuō)明如下:
- $pattern:要搜索的模式,也就是定義好的正則表達(dá)式;
- $input:要搜索的數(shù)組;
- $flags:可選參數(shù),可以設(shè)置為 PREG_GREP_INVERT,這時(shí)函數(shù)會(huì)返回?cái)?shù)組中與給定模式 $pattern 不匹配的元素組成的數(shù)組。
perg_grep() 函數(shù)將遍歷 $input 數(shù)組中的每一個(gè)元素,讓該元素與模式 $pattern 進(jìn)行匹配,然后將匹配成功或者匹配失敗的元素返回。
示例1:返回?cái)?shù)組中指定匹配的元素
<?php header('content-type:text/html;charset=utf-8'); $array = array(1, 2, 3.4, 53, 7.9); echo "原數(shù)組:"; var_dump($array); // 返回所有包含浮點(diǎn)數(shù)的元素 $fl_array = preg_grep("/^(d+)?.d+$/", $array); echo "返回所有包含浮點(diǎn)數(shù)的元素:"; var_dump($fl_array); ?>
示例2:
<?php header('content-type:text/html;charset=utf-8'); $test_arr = array( 'PHP中文網(wǎng)', 'http://www.php.cn/', 'php教程', 'abcdefg' ); $preg = '/^[a-z]/'; $preg_arr_1 = preg_grep($preg, $test_arr); $preg_arr_2 = preg_grep($preg, $test_arr, PREG_GREP_INVERT); echo '<pre>'; var_dump($preg_arr_1); var_dump($preg_arr_2); ?>
推薦學(xué)習(xí):《PHP視頻教程》