可以使用一些內置函數一起重新索引數組。這些函數是:
- array_combine() function :Function array_combine() - 它是 PHP 中的一個內置函數,用於合併兩個數組並使用一個數組作為鍵,另一個數組作為值來創建一個新數組。也就是說,一個數組的所有元素都是新數組的鍵,第二個數組的所有元素都是這個新數組的值。
- Function range():函數 range() - 它是 PHP 中的內置函數,用於創建任意類型的元素數組,例如給定範圍內的整數、字母(從低到高),即列表的第一個元素被認為是低的,最後一個被認為是高的。
- count()函數:函數count() 用於對數組中的當前元素進行計數。對於已設置為空數組的變量,該函數可以返回 0。此外,對於未設置的變量,該函數返回 0。
- array_values ‚Äã‚Äã() 函數:該函數用於從另一個數組中獲取一個值數組,該數組可以包含鍵值對或僅包含值。該函數創建另一個數組來存儲所有值,Äã,Äã,默認情況下為這些值分配數字鍵。
我們將使用 array_values,Äã,Äã() 來獲取所有值,Äã,Äãof array 和 range() 來創建我們想要用作新鍵或新數組索引(重新索引)的數組元素。然後 array_combine() 函數將數組組合為鍵和值。
示例 1:
// 聲明一個關聯數組
$arr
=
array
(
0 = >
`Tony`
,
1 = >
`Stark`
,
2 = >
`鐵`
,
3 = >
`Man`
) ;
echo
" 重新索引前的數組 "
;
< br>// 使用foreach循環打印數組元素
foreach
(
$arr
as $key
= >
$value
) {
echo
“索引:”
.
$key
.
“值:”
.
$value
.
""
;
}
//設置thre的序號e
$New_start_index
= 3;
$arr
=
array_combine
(範圍 (
$New_start_index
,
count
(
$arr
) + (
$New_start_index
- 1)),
array_values ,Äã,Äã (
$arr
));
echo
" 重新索引後的數組 "
;
// 使用foreach循環打印數組元素 foreach
(
$arr
as
$key
= >
$value
) {
echo
“索引:”
.
$key
.
"Value:"
.
$value
.
""
;
}
?>
退出: 重新索引前的數組索引:0 值:Tony 索引:1 值:Stark 索引:2 值:Iron 索引:3 值:重新索引後的 Man 數組索引:3 值:Tony 索引:4 值:Stark 索引: 5 值:Iron 索引:6 值:Man
示例 2.在數組的開頭添加一些數據,然後從索引中提取數組。 <代碼><代碼>
// 聲明一個關聯數組
$arr
=
array
(
0 = >
`Tony`
,
1 = >
`Stark`
,
2 = >
`鐵`
,
3 = >
`Man`
);
code>
echo
" 重新索引前的數組"
;
// 使用foreach循環打印數組元素
foreach
(
$arr
as
<代碼>$key
= >
$value
) {
echo
“索引:”
.
$key
.
“值:”
.
$value
.
""
;
}
//設置三的序號$New_start_index
= 3;
$raw_data
= range (0,
$New_start_index
- 1);
//在數組開頭添加數據
foreach
(
$raw_data
as
$key
= >
$value
) {
array_unshift
(
$arr
,
$value );
}
$arr
=
array_values ,Äã,Äã
(
$arr
);
// 刪除不必要的索引,所以我們從 10 開始 $arr
=
array_slice
(
$arr
,
$New_start_index
,
count
(
code> $arr
), true);
echo
"重新索引後的數組"
;
// 使用foreach循環打印數組
foreach
(
$arr
as
$key
= >
$value ) {
echo
"Index:"
.
$key
.
"值:"
.
$value
.
""
;
}
?>
退出:重新索引前的數組索引:0 值:Tony 索引:1 值:Stark 索引:2 值:Iron 索引:3 值:重新索引後的 Man 數組索引:3 值:Tony 索引:4 值:Stark 索引:5 值: Iron Index: 6 Value: Man
在這個例子中,首先向數組中添加一些數據,然後我們再循環一次,然後刪除我們添加的數據,所以這也不是最好的重新索引數組的選擇...此方法不適合重新索引字母鍵。示例 3:這個例子重新索引一個字母數組` p '。兩個額外的函數用於重新索引字母表:- 函數 ord() :ord() 函數 - 是一個內置的 PHP 函數,它返回字符串第一個字符的 ASCII 值。
- CHR() 功能:CHR() 函數是 PHP 中的內置函數用於將 ASCII 值轉換為字符。
// 聲明一個關聯數組
$arr
=
array
(
`a`
= >
`印度`
,
`b`
= >
`America`
,
<代碼>
`c`
= >
`Russia`
,
`d`
= >
`China`
);
echo
" 重新索引前的數組 "
;
// 使用foreach循環打印數組元素 foreach
(
$arr
as
$key
= >
$value
) {
echo
“索引:”
.
$key
.
"Value:"
.
$value
.
""
;
}
// 從`p`設置索引
$New_start_index
=
`p`
;
// ord()函數用於獲取ascii值
// chr()將數字轉換為 ASCII 的函數
$arr
=
array_combine
(range (
$ new_start_index
,
chr (
count
(
$arr
) + (ord (
$New_start_index
) - 1))),
array_values ,Äã,Äã
(
$arr
));
echo
"重新索引後的數組"
;
//使用foreach循環打印數組
foreach
(
$arr
as
$key
= > $value ) {
echo
"索引:"
.
$key
.
"Value:"
.
$value
.
""
;
}
?>
退出:重新索引前的數組 索引:a 值:印度 索引:b 值:美國 索引:c 值:俄羅斯指數:d 值:中國 重新索引後的數組 指數:p 值:印度 指數:q 值:美國 指數:r 值:俄羅斯 指數:s 值:中國