首頁 > 後端開發 > php教程 > PHP数组排序的问题

PHP数组排序的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:17:51
原創
1375 人瀏覽過

有两个数组如下:

<code class="php">$aray1 = (
    'key3' => 'value3',
    'key2' => 'value2',
    'key1' => 'value1
);

$aray2 = ('key1', 'key3', 'key2');  //看清楚了,顺序不是123哦
</code>
登入後複製
登入後複製

请问php有没有内置的函数可以通过$array2将$array1排序成如下格式:

<code class="php">$aray1 = (
    'key1' => 'value1',
    'key3' => 'value3',
    'key2' => 'value2
);</code>
登入後複製
登入後複製

我看了下array_multisort()的文档,但是好像不支持。

回复内容:

有两个数组如下:

<code class="php">$aray1 = (
    'key3' => 'value3',
    'key2' => 'value2',
    'key1' => 'value1
);

$aray2 = ('key1', 'key3', 'key2');  //看清楚了,顺序不是123哦
</code>
登入後複製
登入後複製

请问php有没有内置的函数可以通过$array2将$array1排序成如下格式:

<code class="php">$aray1 = (
    'key1' => 'value1',
    'key3' => 'value3',
    'key2' => 'value2
);</code>
登入後複製
登入後複製

我看了下array_multisort()的文档,但是好像不支持。

貌似没有,array_multisort()主要是对多维数组排序

用用户自定义排序函数usort(),不过还是要自己写

<code>foreach($array2 as $i => $key) {
    $result[$key] = $array1[$key];
}
var_dump($result);</code>
登入後複製

<code class="php">$data = array();

array_walk($aray2,function($value, $key) use($aray1, &$data){
    $data[$value] = $aray1[$value];    
});

print_r($data);
</code>
登入後複製

根据我的经验,是没有这样的内部函数的

可以自己写一个方法

可以自己写一个方法

自己写一个呗

只有自己根据排序规则写一个了

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板