0

私は2つのアレイを持っているので、最初は次のとおりです。

{
    "title_heading_1": "Name",
    "last_name": "Trenkle",
    "first_name": "Jason",
    "middle_name": "Jason",
}

そして2つ目は:

{
    "Title Heading 1": "",
    "Last Name": "",
    "First Name": "",
    "Middle Name": "",
}

問題は、最初の配列のキーが2番目の配列のキーに置き換えられる2つの配列をどのようにマージするかです。したがって、結果は次のようになります。

{
    "Title Heading 1": "Name",
    "Last Name": "Trenkle",
    "First Name": "Jason",
    "Middle Name": "Jason",
}

PHPでそれを行うにはどうすればよいですか。foreachを試しましたが、それでも正しい出力が得られませんでした。

4

3 に答える 3

4

キーと値が一致し、正常であることが保証されている場合は、次のことを非常に簡単に行うことができます。

$result = array_combine(array_keys($second), array_values($first));
//array_values is probably not necessary

1番目および/または2番目の配列のキーが任意の順序である可能性があるが、上記のように一貫して名前が付けられている場合、これでうまくいくはずです。

foreach ($first as $key => $value) {
   $second[ucwords(str_replace('_', ' ', $key))] = $value;
}

ああ、json_decodeこれを行う方法がまだわからない場合は、文字列をPHP配列にデコードするために使用します。

于 2012-06-26T15:06:35.063 に答える
-2
$array1 = (array) json_decode('{
    "title_heading_1": "Name",
    "last_name": "Trenkle",
    "first_name": "Jason",
    "middle_name": "Jason",
}');

$array2 = (array) json_decode('{
    "Title Heading 1": "",
    "Last Name": "",
    "First Name": "",
    "Middle Name": "",
}');

$result = array_merge($array1, $array2);
print_r($result);
于 2012-06-26T15:06:09.107 に答える
-2

array_combineを使用します。最初のパラメーターはキー用で、2番目のパラメーターは値用です。例えば

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>
于 2012-06-26T15:06:51.157 に答える