php - 在php中更改数组的索引

标签 php arrays

例如,我想更改数组的索引。我有一个数组

$a = array("a","e","i","o","u");
echo $a[0]; //output a

这意味着这个数组有索引(0,1,2,3,4)

现在我想从索引 100 而不是 0 开始我的数组

表示索引为 (100,200,300,400,500) 的数组

最佳答案

如果你想声明一个数组,你应该这样做:

$array = array(100 => 'a', 200 => 'b', 300 => 'c', 400 => 'd', 500 => 'e');

请注意,如果您以较短的方式 ($array[] = 'f') 将新元素添加到 $array分配的 key 将是 501

如果您想将常规数组索引转换基于数百的索引,您可以这样做:

$temp = array();
foreach ($array as $key => $value) {
    $temp[(($key + 1) * 100)] = $value;
}
$array = $temp;

但也许您真的不需要转换任何数组,而是以这种方式访问​​您当前的数组:

$i = $hundredBasedIndex / 100 - 1;
echo $array[$i];
// or directly
echo $array[($hundredBasedIndex / 100 - 1)];

关于php - 在php中更改数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13509984/

相关文章:

php - 必须至少指定一个输出文件

php - 更改查询的输出

php - 我可以在用 PHP 回显后调用 die 吗?

IE 8 问题中的 Javascript 数组

java - 给定一个已排序的数组(按绝对值排序)和一个数字,找到该数字的位置

c++ - 带字符串或字符的动态分配(数组)

php - ZF 2 : tutorial application, 'Config being merged must be an array [...]'

javascript - GSAP 重复延迟数组?

arrays - swift 中的二维数组迭代速度(Beta 4)

php - 是否可以对 $_POST 变量进行分组?