假设我有这些:
$services = array();
$services["services0"];
$services["services1"];
$services["services2"];
$services["services3"];
我想创建一些循环将它们改为:
$services[0];
$services[1];
$services[2];
$services[3];
你会怎么做呢?不知道数组中有多少键:值对?
执行此操作并丢弃原始密钥的最简单方法是通过array_values()
:
$new_array = array_values( $old_array);
你可以从这个演示中看到下面的例子:
$services = array();
$services["services0"] = 's0';
$services["services1"] = 's1';
$services["services2"] = 's2';
$services["services3"] = 's3';
$services = array_values( $services);
print_r( $services);
生成如下数组:
Array
(
[0] => s0
[1] => s1
[2] => s2
[3] => s3
)
试试下面的代码:
$dummy_array = $services;
$services = array();
foreach($dummy_array as $service) {
$services[] = $service;
}
这里发生的事情是你正在取消设置服务(但首先保存它),然后循环遍历保存的版本,将值添加回数组。$services[] = $service;
线是这里的关键。这将一个值附加到一个标准键的现有数组的末尾。0 1 2 3等等。这将创建您想要的结果,即删除字符串键并用标准数组键索引替换它们。试一试,看看你会得到什么。祝你好运