0

こんにちは私は連想配列のアイテムを「上または下」に移動するために何ができるか知りたいです。たとえば、この配列の場合:

 Array ( [list] => 
      Array ( [Name1] => 1, 
              [Name2] => 1, 
              [Name3] => 1, 
              [Name4] => 1, 
              [Name5] => 1,  )
 ) 

私はこの方法でそれを行う方法を知っていますnon-associative array

   $a = array('a','b','c','d','e');

   function down($a,$x) {
     if( count($a)-1 > $x ) {
    $b = array_slice($a,0,$x,true);
    $b[] = $a[$x+1];
    $b[] = $a[$x];
    $b += array_slice($a,$x+2,count($a),true);
    return($b);
     } else { 
            return $a; 
         }
   }

 function up($a,$x) {
   if( $x > 0 and $x < count($a) ) {
    $b = array_slice($a,0,($x-1),true);
    $b[] = $a[$x];
    $b[] = $a[$x-1];
    $b += array_slice($a,($x+1),count($a),true);
    return($b);
   } else { 
            return $a; 
       }
 }

  //Use 

  // Move item 4 up
  print_r(up($a,4));
4

2 に答える 2

2

このコードを試してください

$array=array(0=>'name1', 1=>'name2', 2=>'name3', 3=>'name4', 4=>'name5');

function moveElement(&$array, $a, $b) {
    $out = array_splice($array, $a, 1);
    array_splice($array, $b, 0, $out);
}
moveElement($array, 3, 1);

print_r($array);

Result :

Array ( [0] => name1 [1] => name4 [2] => name2 [3] => name3 [4] => name5 )
于 2013-03-21T06:44:34.943 に答える
0

クエリに従って、連想配列に値を入力したい場合、次のようになります。連想配列では、すべての値が値の数値のようなキーを使用します。

$key => $value

であり、値が でkeyあると仮定すると、次の ように なり、クエリは変数を取ります。thenは次のような値の配列です1'Mohit'1 => Mohit$key=0$value

$value = { 'Mohit','Nick','John' }

$key=0;
foreach($value as $val)
{
    $key => $val;
    $key++;
}

このように、新しい連想配列を作成できます。

于 2013-03-21T06:49:09.890 に答える