将多维数组转换为具有序列化键和值的单个数组

问题描述 投票:0回答:1

这是我的多维数组。我想从它们中提取特定的fields并创建一维数组。

   [0] => Array (
        [in_user_id] => 157,
        [st_meta_key] => city
        [st_meta_value] => jaipur
        )
    [1] => Array (
        [in_user_id] => 157
        [st_meta_key] => latitude
        )
    [2] => Array (
        [in_user_id] => 157
        [st_meta_key] => longitude
        )
    [3] => Array (
        [in_user_id] => 203
        [st_meta_key] => city
        [st_meta_value] => Jaipur
        )
    [4] => Array (
        [in_user_id] => 203
        [st_meta_key] => latitude
        [st_meta_value] => 26.8517972
        )
    [5] => Array (
        [in_user_id] => 203
        [st_meta_key] => longitude
        [st_meta_value] => 75.7862232
        )
    [6] => Array (
        [in_user_id] => 214
        [st_meta_key] => city
        [st_meta_value] => Jaipur
        )
    [7] => Array (
        [in_user_id] => 214
        [st_meta_key] => latitude
        [st_meta_value] => 26.8517972
        )
    [8] => Array (
        [in_user_id] => 214
        [st_meta_key] => longitude
        [st_meta_value] => 75.7862232
        )

我想这样输出

    Array(
        [id] => 157,
        [city] => jaipur,
        [latitude] => '',
        [longitude] => '',
        [id] => 203,
        [city] => jaipur,
        [latitude] => '26.8517972',
        [longitude] => '75.7862232',
        [id] => 214,
        [city] => jaipur,
        [latitude] => '26.8517972',
        [longitude] => '75.7862232',
     )

[作为我的初学者,请以任何方式帮助我解决并格式化它。

预先感谢您的帮助:)

arrays multidimensional-array dimension
1个回答
0
投票
    $size = count($cars);//the array name 



for($i=0; $i<$size; $i++)
{

    $keyid= $cars[$i]['in_user_id'];
    $keyid1=$cars[$i++]['in_user_id'];
    //$keycity=$cars[$i]['st_meta_key']; echo "<br>";
    //$keylatitute=$cars[$i]['st_meta_value'];
    //echo $keyid. "<br>";
    if($keyid==$keyid1)
    {
        $j=$i+1;
        $first[] = array(

            'id' => $cars[$i]['in_user_id'],
            $cars[$i]["st_meta_key"]=>$cars[$i]['st_meta_value'],
            $cars[$j]["st_meta_key"]=>$cars[$j]['st_meta_value'],

         );
    }

}

$finalcount=count($first);

for ($k=0; $k <$finalcount ; $k++) { 


echo "<pre>";
print_r($first[$k]);
echo "</pre>";
}
© www.soinside.com 2019 - 2024. All rights reserved.