0

たくさんの配列があり、それらからJSONオブジェクトを作成したいと思います。

配列の例:

$brand = array('Kawasaki', 'Yamaha', 'Puch', 'Honda');
$colors = array('blue', 'red', 'yellow', 'blue');

私が欲しい出力:

$motorbikes = {
    motorbike1 {
        brand: 'Kawasaki',
        color: 'blue'
    },
    motorbike2 {
        brand: 'Yamaha',
        color: 'red'
    },
    motorbike3 {
        brand: 'Puch',
        color: 'yellow'
    },
    motorbike4 {
        brand: 'Honda',
        color: 'blue'
    }
}

これを達成するための最良かつ最もエレガントな方法は何ですか?

ありがとう!

4

4 に答える 4

3

最も簡単な方法はjson_encode()です。

$brand_json = json_encode($brand);

http://php.net/manual/en/function.json-encode.php

ただし、これらの配列を修正してください。

$brand = array('Kawasaki', 'Yamaha', 'Puch', 'Honda');
$colors = array('blue', 'red', 'yellow', 'blue');
于 2012-11-19T17:20:39.573 に答える
2

私はこれを一緒に投げました、それはあなたの望む出力に完全に一致していません、しかしそれはあなたがあなたがいる必要がある方向にあなたを動かすはずです。

<?php

$brand = array('Kawasaki', 'Yamaha', 'Puch', 'Honda');
$colors = array('blue', 'red', 'yellow', 'blue');

$temp = array();
for ($i = 0; $i < count($brand); $i++)  {
    $temp["motorbike$i"]['brand'] = $brand[$i];
    $temp["motorbike$i"]['color'] = $colors[$i];
}

echo json_encode($temp);

?>
于 2012-11-19T17:23:55.227 に答える
1
$brand = array('Kawasaki', 'Yamaha', 'Puch', 'Honda');
$colors = array('blue', 'red', 'yellow', 'blue');

$motorbikes = array();

for($i=0; $i<count($brand); $i++)
{
    $motorbikes['motorbike' . ($i+1)] = array(
        'brand' => $brand[$i],
        'color' => $colors[$i]
    );
}

echo json_encode($motorbikes);

出力(インデントなし)

{
    "motorbike1":{
        "brand":"Kawasaki",
        "color":"blue"
    },
    "motorbike2":{
        "brand":"Yamaha",
        "color":"red"
    },
    "motorbike3":{
        "brand":"Puch",
        "color":"yellow"
    },
    "motorbike4":{
        "brand":"Honda",
        "color":"blue"
    }
}

コードパッドのデモ

于 2012-11-19T17:30:43.900 に答える
1
$motorbikes = array(
    'motorbike1' => array('brand' => 'Kawasaki', 'color' => 'Blue'),
    'motorbike2' => array('brand' => 'Yamaha', 'color' => 'Red'),
);

echo json_encode($motorbikes);
于 2012-11-19T17:22:49.003 に答える