1

私はこの配列を持っています

$immagini = array('1.jpg','2.jpg','3.jpg','4.jpg');

var_dump($ immagini)を作成すると、これが返されます

    array(4) { 
[0]=> string(5) "1.jpg" 
[1]=> string(5) "2.jpg" 
[2]=> string(5) "3.jpg" 
[3]=> string(5) "4.jpg" 
} 

別の方法で注文するにはどうすればよいですか。インデックス[2]から開始するのが好きです。したがって、この結果が必要です。

array(4) {
 [2]=> string(5) "3.jpg" 
 [3]=> string(5) "4.jpg" 
 [0]=> string(5) "1.jpg" 
 [1]=> string(5) "2.jpg" 
} 

インデックスから欲しいのですが、完全なリストを返します

4

2 に答える 2

2

これを実現するためにvar_dumpを使用することはできません。カスタム開始インデックスから印刷するには、独自のループが必要です。開始インデックスから開始し、配列時間の長さをループするまで、反復ごとにループイテレータを1つずつインクリメントします。配列要素にアクセスする場合は、loopIterator mod length of array

于 2012-12-26T15:45:40.857 に答える
1

2未満のすべてのインデックスをリストの最後に移動する比較関数を使用してそれらを並べ替えることができます。たとえば、次のような比較があります。

function cmp($a,$b) {
    $a = ($a < 2) ? $a + 1000 : $a;
    $b = ($b < 2) ? $b + 1000 : $b;
    return $a - $b;
}

このように呼ばれます:

$immagini = array('1.jpg','2.jpg','3.jpg','4.jpg');
uksort($immagini, 'cmp');
var_dump($immagini);

次の出力が得られます。

array(4) {
  [2]=>
  string(5) "3.jpg"
  [3]=>
  string(5) "4.jpg"
  [0]=>
  string(5) "1.jpg"
  [1]=>
  string(5) "2.jpg"
}

デモ: http: //ideone.com/XeAkQL

于 2012-12-26T15:53:45.710 に答える