0

说我有这些:

$services = array();
$services["services0"];
$services["services1"];
$services["services2"];
$services["services3"];

我想创建某种循环来将它们更改为:

$services[0];
$services[1];
$services[2];
$services[3];

你会怎么做呢?不知道数组中有多少键:值对?

4

2 回答 2

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
)
于 2013-04-08T02:19:12.513 回答
0

尝试类似以下代码:

$dummy_array = $services;
$services = array();
foreach($dummy_array as $service) {
    $services[] = $service;

}

这里发生的是您正在取消设置服务(但首先保存它)然后您循环浏览保存的版本,将值添加回数组中。这条线$services[] = $service;是这里的关键。这会将一个值附加到具有标准键的现有数组的末尾。即 0、1、2、3 等等。这将创建您想要删除字符串键并用标准数组键索引替换它们的结果。试试看,看看你会得到什么。祝你好运

于 2013-04-08T02:18:25.177 回答