2016-12-31 11 views
1

配列:$内容です。配列の一部の要素を配列の先頭に移動したい

キーは数字のみです。 値が有効なディレクトリかどうかをチェックしたいと思います。そうであれば、キーを保持している配列の先頭に値を移動する、つまりキーと値全体を移動します。これは可能ですか?ここ はコードです:

foreach ($content as $item){ 
    if(is_dir("path/$item")){ 
     # the code for values movement should go here 
    } 
} 
+2

あなたの配列を並べ替えるように聞こえます。あなたはおそらく 'usort()'のためにgoogleを使いたいので、独自のカスタムソート関数を使って配列をソートすることができます。その結果、すべてのディレクトリは一番上に、残りは一番下になります。 – Rizier123

+0

はい!しかし、私はそれをどうやって行うのか分かりません。私はusort()が実際にどのように動作するのか分からないようです。 – default

+0

マニュアルページを読んで例を見ましたか? – Rizier123

答えて

0

あなたは$コンテンツ配列に一時的な配列をマージすることによって、これを達成することができます

$temp = array($item => $content[$item]); 
unset($content[$item]); 
$content = $temp + $content; 
+0

これは実際に値を配列の先頭に移動しますが、キーは保持しません。私はそれについてあまり具体的ではないと思う。 – default

+0

あなたはいつも最初のキーを書き直したいのですか? –

+0

私は連想配列ではなく数字のインデックス配列を持っているので、これが起こると思います。文字列をキーとして使用すると、そのキーが保持されます。 –

0

あなたは拳これらの配列を分割し、それがだときに再び それらをマージすることができ有効なディレクトリはarray1に追加し、それ以外の場合はarray2に追加してください。

関連する問題