本文目录一览:
php数组如何改变KEY值
没有类似的功能函数 只能是循环一下 重新赋值了
foreach ( $array as $i=$val ) {
$key = $val['pagetype']; //取出要作为key的字段
$array[$key] = $val; //赋值
unset($array[$i]); //删掉原有的键值
}
改变php数组key值的方法
有个方法可以不使用循环,代码如下
?php
$arr = array(1='one',2='two',3='three');
$keys = range(2, 4);
$arr = array_combine($keys, array_values($arr));
其中,range生成指定范围的数组,array_combine将键和值组合,形成新数组。
实际应用中,请结合原数组长度使用。
使用循环请这样做
?php
$arr = array(1='one',2='two',3='three');
for ($i = count($arr)+1; $i 1; --$i) {
$arr[$i] = $arr[$i-1];
}
unset($arr[$i]);
您的采纳就是我的动力!
请问php中foreach循环中,如何修改$key值
这个$key跟for循环中的$key是两个概念了
比如:
$arr = ['k1'='v1','k2'='v2','k3'='v3'];
//取v2的值
print_r($arr['k2']);
$arr = ['v1','v2','v3'];
//取v2的值
print_r($arr[1]);
//上面两个数组中,分别得到v2这个值所用的方法,有什么不同?
用foreach循环,可以得到数组中元素的key值跟value值,当然key值可以是数字,也可以是字符串啊
如果你想下一次循环,直接到$key=$key+10的时候,首先,如果$key是字符串,+10就会有错误
你可以:
1.循环一次,将用过的元素通过php函数array_splice()或unset()删除,剩下的可以再次循环
2.新建一个数组变量,用来你的操作
你指的控制key值是什么意思?不太明白
php怎么修改数组键名
PHP中不能直接修改某数组的键名,只能通过将其中的元素逐一复制到另一个新数组中,并在赋值的时候修改键名,如;
$a = array('a'='China', 'b'='America', 'c'='England');
$b[0] = $a['a'];
$b[1] = $a['b']
$b[2] = $a['c'];
$a = $b;
结果为$a内容为: array(0='China', 1='America', 2='England');
php如何修改二维数组子数组的键值例如
?php
//第一种,改变原数组
$keys = array('aa','bb','cc','dd','ee');
foreach($array as $key=$val)
{
foreach($val as $k=$v)
{
$array[$key][$keys[$k]] = $v;
unset($array[$key][$k]);
}
}
//第二种,生成一个新数组
$keys = array('aa','bb','cc','dd','ee');
$newArray = array();
foreach($array as $key=$val)
{
foreach($val as $k=$v)
{
$newArray[$key] = array();
$newArray[$key][$keys[$k]] = $v;
}
}
?