3

私はmysqlデータから取得しています:

$starcik_o = mysql_query("select id, mapa, miasto, nazwa_obiektu from oferty where id = 28");
        while($data = mysql_fetch_array($starcik_o, MYSQL_ASSOC)) $punkty[] = $data;

そして、この配列に別のテーブルを追加したいので、そのようにしようとしています:

foreach ($punkty as $item)
        {
        $deserialized = unserialize($item['mapa']);
        $punkty['long'] = $deserialized['lng'];
        $punkty['lat'] = $deserialized['lat'];
        }

しかし、私が望むようには機能していません。私を見せて

array(3) 
{ 
    [0]=> array(4) 
    { 
    ["id"]=> string(2) "28" 
    ["mapa"]=> string(97) "a:3:{s:3:"lat";s:17:"49.21103723075132";s:3:"lng";s:18:"22.330280542373657";s:4:"zoom";s:2:"17";}" 
    ["miasto"]=> string(5) "Cisna" 
    ["nazwa_obiektu"]=> string(44) "Cisna - noclegi u Mirosławy w Bieszczadach" 
    } 
    ["long"]=> string(18) "22.330280542373657" 
    ["lat"]=> string(17) "49.21103723075132" 
}
4

4 に答える 4

3
    foreach ($punkty as &$item)
    {
        $deserialized = unserialize($item['mapa']);
        $item['long'] = $deserialized['lng'];
        $item['lat'] = $deserialized['lat'];
    }
于 2012-07-27T12:59:47.800 に答える
1

使用する

foreach ($punkty as $key => $item)
        {
        $deserialized = unserialize($item['mapa']);
        $punkty[$key]['long'] = $deserialized['lng'];
        $punkty[$key]['lat'] = $deserialized['lat'];
        }
于 2012-07-27T13:00:44.490 に答える
1
$starcik_o = mysql_query("select id, mapa, miasto, nazwa_obiektu from oferty where id = 28");
            while($data = mysql_fetch_array($starcik_o, MYSQL_ASSOC))
{
$punkty1[] = $data[' id'];
$punkty2[] = $data['mapa'];
$punkty3[] = $data['miasto'];
$punkty4[] = $data['nazwa_obiektu'];
.....
}
try this code
于 2012-07-27T13:01:16.287 に答える
0

あなたのループは、指示されたことを実行しています。各項目からフィールドlatとフィールドを取得し、配列に書き込みます。lng$punkty

latただし、配列のトップレベルではなく、フィールドとlngフィールドを個々のアイテムに配置する必要があると想定しています。その場合、ループを次のように変更します。

foreach ($punkty as &$item) {   // added the '&' to reference the item
    $deserialized = unserialize($item['mapa']);
    $item['long'] = $deserialized['lng'];   // saving "long" to item
    $item['lat'] = $deserialized['lat'];    // saving "lat" to item
}
于 2012-07-27T13:00:56.747 に答える