您好我想知道我可以做什么来将关联数组中的项目“向上或向下”移动一个例如此数组:
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));
答案 0 :(得分:1)
试试此代码
$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 )
答案 1 :(得分:0)
根据您的查询,您想要在关联数组中输入值,就像这样 在关联数组中,每个值都使用一个键,它就像一个值的数字。
$key => $value
假设key
为1
且值为'Mohit'
所以就像1 => Mohit
并且您的查询采用变量$key=0
;
然后$value
是一组值,例如
$value = { 'Mohit','Nick','John' }
$key=0;
foreach($value as $val)
{
$key => $val;
$key++;
}
像这样我们可以创建一个新的关联数组。