<?php
$arr=array(
array(
'local_path' =>'aaaaa',
'picture_id' =>1
),
array(
'local_path'=>'bbbbbbb',
'picture_id'=>2
),
array(
'local_path'=>'ccccccc',
'picture_id'=>3
),
); function change($arrr,$a=0){
foreach($arrr as $key=>$value){
$arr[$a][$value['picture_id']]=$value['local_path'];
$arr[$a]['picture_id']=$value['picture_id'];
$a++;

}
return $arr;
}


$arry=change($arr);

print_r($arry);


?>

解决方案 »

  1.   

    你这不是 php 的数组,是 json$s =<<< TXT
     "image": [
                    {
                        "local_path": "/upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg",
                        "picture_id": 1
                    },
                    {
                        "local_path": "/upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg",
                        "picture_id": 2
                    },
                    {
                        "local_path": "/upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg",
                        "picture_id": 3
                    }
                ]
    TXT;
    $a = json_decode('{'. $s .'}', 1);foreach($a['image'] as &$item) {
      $item = array(
        $item['picture_id'] => $item['local_path'],
        'picture_id' => $item['picture_id']
        );
    }
    print_r($a);Array
    (
        [image] => Array
            (
                [0] => Array
                    (
                        [1] => /upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg
                        [picture_id] => 1
                    )            [1] => Array
                    (
                        [2] => /upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg
                        [picture_id] => 2
                    )            [2] => Array
                    (
                        [3] => /upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg
                        [picture_id] => 3
                    )        ))
    还原回 jsonecho json_encode($a, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);{
        "image": [
            {
                "1": "/upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg",
                "picture_id": 1
            },
            {
                "2": "/upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg",
                "picture_id": 2
            },
            {
                "3": "/upload/14d4aaf3c5ef5b93e6c4c7418428ea71.jpg",
                "picture_id": 3
            }
        ]
    }
      

  2.   

    如果$arr是对象,而不是数组怎么做呢?