函數(shù)名稱:Collator::setAttribute()
適用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
用法:Collator::setAttribute() 函數(shù)用于設(shè)置排序規(guī)則中的特定屬性。
參數(shù):
- attribute(必需):要設(shè)置的屬性??梢允褂靡韵鲁A恐唬?ul>
- Collator::NUMERIC_COLLATION:表示比較數(shù)字的排序規(guī)則。
- Collator::CASE_LEVEL:表示區(qū)分大小寫的排序規(guī)則。
- Collator::CASE_FIRST:表示將大寫字母或小寫字母放在前面的排序規(guī)則。
- Collator::ALTERNATE_HANDLING:表示在比較字符串時(shí)如何處理特殊字符。
- Collator::STRENGTH:表示排序的比較級(jí)別。
- attributeValue(必需):要為屬性設(shè)置的新值。
返回值:如果成功設(shè)置了屬性,則返回 TRUE。如果設(shè)置失敗,則返回 FALSE。
示例:
// 創(chuàng)建 Collator 對(duì)象
$collator = new Collator('en_US');
// 設(shè)置 NUMERIC_COLLATION 屬性為 TRUE,以按照數(shù)字進(jìn)行排序
$collator->setAttribute(Collator::NUMERIC_COLLATION, true);
// 打印排序結(jié)果
$array = ['10', '2', '1', '20', '5'];
$collator->sort($array);
print_r($array);
// 設(shè)置 CASE_LEVEL 屬性為 TRUE,以區(qū)分大小寫進(jìn)行排序
$collator->setAttribute(Collator::CASE_LEVEL, true);
// 打印排序結(jié)果
$array = ['Cat', 'apple', 'banana'];
$collator->sort($array);
print_r($array);
// 設(shè)置 CASE_FIRST 屬性為 Collator::UPPER_FIRST,將大寫字母放在前面進(jìn)行排序
$collator->setAttribute(Collator::CASE_FIRST, Collator::UPPER_FIRST);
// 打印排序結(jié)果
$array = ['AA', 'ab', 'CD'];
$collator->sort($array);
print_r($array);
輸出:
Array
(
[0] => 1
[1] => 2
[2] => 5
[3] => 10
[4] => 20
)
Array
(
[0] => apple
[1] => banana
[2] => Cat
)
Array
(
[0] => AA
[1] => CD
[2] => ab
)
注意:Collator 類在安裝了 intl 擴(kuò)展的情況下可用。請(qǐng)確保您的 PHP 環(huán)境已啟用該擴(kuò)展。