本文目錄一覽:
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;
}
}
?
原創文章,作者:IP1VN,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/129599.html