我有一个这样的数组,
$ptJson = {
["phoneSMS1"]=> "mobile",
["phoneSMS2"]=> "mobile",
["phoneSMS3"]=> "mobile",
["phoneSMS4"]=> "mobile",
["phoneSMS5"]=> "main"
}
我必须删除phoneSMS3
,所以我使用unset
来取消
unset($ptJson['phoneSMS3']);
效果很好!现在我想把休息键向上移动一个,但不知道怎么做。搜索了,但没有找到
那么,如何找到phoneSMS3
之后的其余数组键呢?
for($i = 2; $i < count($ptJson); $i++){
$ptJson[$i] = 'phoneSMS'.($i+1);
}
这是你访问它的方式你应该使用更通用的
我将从您想要删除的位置迭代键,直到数组的末尾,并在每次迭代中将以下键分配给当前位置:
$prefix = 'phoneSMS';
$index = 3;
while (array_key_exists($prefix . ($index + 1), $ptJson)) {
$ptJson[$prefix . $index] = $ptJson[$prefix . ($index + 1)];
++$index;
}
unset($ptJson[$prefix . $index]);
$flg=0;
$i=1;
foreach($ptJson as $key=>$val){
$i++;
if($key =="phoneSMS3"){
unlink($ptJson[$key]);
$flg=1;
}
if($flg==1)
$ptJson[$key]=$ptJson["phoneSMS".$i];
}
我认为reset($array)函数可能会有帮助。