说我有这些:
$services = array();
$services["services0"];
$services["services1"];
$services["services2"];
$services["services3"];
我想创建一些循环来将这些更改为:
$services[0];
$services[1];
$services[2];
$services[3];
你会怎么做?不知道你在数组中有多少个key:value对?
答案 0 :(得分:3)
最简单的方法是丢弃原始密钥,只需通过array_values()
运行数组:
$new_array = array_values( $old_array);
您可以从this demo看到以下示例:
$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
)
答案 1 :(得分:0)
尝试类似以下代码的内容:
$dummy_array = $services;
$services = array();
foreach($dummy_array as $service) {
$services[] = $service;
}
这里发生的是您正在取消设置服务(但首先保存它)然后循环保存的版本将值添加回数组。第$services[] = $service;
行是关键所在。这会使用标准键将值附加到现有数组的末尾。即0,1,2,3等。这会创建一个结果,您希望删除字符串键并将其替换为标准数组键别。试一试,看看你得到了什么。祝你好运