我正在使用preg_match_all從線程中提取電話號碼。這將它們放到一個數組中,即時將rsort和array_unique應用於matches變量,但是它們沒有任何影響...... array_unique將消除只能從引用或響應重複出現的匹配,並且rsort應該最後指數第一,倒數第二個指標,第二,等等PHP array_unique和rsort問題
preg_match_all('~0-9]{3}-[0-9]{3}-[0-9]{4}~', $data, $matches)
$result = array_unique($matches);
rsort($result);
var_dump($result);
輸出:
array
0 =>
array
0 => string '111-111-1111' (length=12)
1 => string '222-222-2222' (length=12)
2 => string '333-333-3333' (length=12)
3 => string '444-444-4444' (length=12)
4 => string '555-555-5555' (length=12)
5 => string '555-555-5555' (length=12)
6 => string '555-555-5555' (length=12)
需要是:
array
0 =>
array
0 => string '555-555-5555' (length=12)
1 => string '444-444-4444' (length=12)
2 => string '333-333-3333' (length=12)
3 => string '222-222-2222' (length=12)
4 => string '111-111-1111' (length=12)
請將您的代碼添加到問題 – Abbas 2011-12-25 10:06:32
您對'rsort'和'array_reverse'感到困惑,如果您想要反轉數組而不是'rsort',則應該使用'array_reverse'。還要注意''array_reverse'不會反轉傳遞給它的原始數組,但會返回一個新的反轉數組,請參閱[此鏈接](http://php.net/manual/en/function.array-reverse.php)詳細信息: – 2011-12-25 10:09:41
不,他想排序DESC,所以rsort .. – 2011-12-25 10:11:43