【问题标题】:php change array key with sub array valuephp用子数组值更改数组键
【发布时间】:2015-05-28 17:20:36
【问题描述】:
[items] => stdClass Object
        (
            [1] => stdClass Object
                (
                    [id] => 146300
                    [name]=>aa
                )
            [2] => stdClass Object
                (
                    [id] => 146301
                    [name]=>bb
                )
)
----------------->changing to
[items] => stdClass Object
        (
            [ 146300] => stdClass Object
                (
                    [name] =>aa
                )
            [146301] => stdClass Object
                (
                    [name] => bb
                )
)

不使用 foreach 怎么办。有没有php数组函数?

【问题讨论】:

    标签: php array-key


    【解决方案1】:

    请尝试此解决方案:

    $result = array();
    array_walk($data, function (&$value, &$key) use (&$result) {
        $result[$value->id] = $value;
        unset($result[$value->id]->id);
    });
    print_r($result);
    

    只有数组的值可能会改变;它的结构 无法更改,即程序员无法添加、取消设置或重新排序 元素。如果回调不遵守此要求,则 此函数的行为未定义且不可预测。

    更多关于array_walkdocumentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 2013-01-05
      • 1970-01-01
      • 2014-11-08
      相关资源
      最近更新 更多