1

除了执行遍历关联数组的实际工作,将一个值推入一个新数组并将其设置为等于剩余字段的数组之外,PHP 中是否有一个内置的数组函数可以做这样的事情?

如果有,那是什么?

我将更改以下内容:

array(
    [0] => array(
        [created] => 12512512,
        [name] => something
    )
)

变成这样的东西:

array(
    [12512512] => array(
        [created] => 12512512,
        [name] => something
    )
)
4

4 回答 4

1

如果第一个数组是 $a

foreach ($a as $v){
    $newarray[$v['created']] = $v;
}
于 2012-08-09T07:36:15.887 回答
1

我不知道你真正想做什么....也许这对你有帮助

<?php
   $new = array();
   foreach($oldArr as $arr) {
        $new[$arr['created']] = $arr;

   }
   print_r($new);
?>
于 2012-08-09T07:36:17.290 回答
1

翻转值并删除同一数组中的旧值...如果创建的值不会覆盖现有条目之一,这应该没问题,我非常怀疑,因为它created似乎是一个时间戳。

foreach($myArray as $index => $entry) {
    $myArray[$entry['created']] = $entry;
    unset($myArray[$index]);
}

或者您可以保留两个副本并使用引用来保存在 ram 上。

foreach($myArray as &$entry)
    $myArray[$entry['created']] =& $entry;
于 2012-08-09T07:42:47.043 回答
-1

请尝试下面给出的代码

$arrs = array();
$arrs[0]['created'] = 1252;
$arrs[0]['name'] = 'A';

$narrs = array();
foreach($arrs AS $arr){
 $narrs[$arr['created']]['created'] = $arr['created'];
 $narrs[$arr['created']]['name'] = $arr['name'];
}

echo "<pre>";
print_r($narrs); echo "</pre>";

谢谢

于 2012-08-09T07:49:57.813 回答