0

重複の可能性:
2 つの JavaScript オブジェクトのプロパティを動的にマージするにはどうすればよいですか?

jQuery で 2 つのオブジェクトをマージしようとしています。

最初のオブジェクト:

var rules1 = {  
    firstname: { required: true, minlength: 3 },
    lastname: { required: true, minlength: 3 }
};

2 番目のオブジェクト:

var rules2 = {  
    test1: { required: true, minlength: 3 },
    test2: { required: true, minlength: 3 }
};

結果を次のようにしたい:

var merged = {  
    firstname: { required: true, minlength: 3 },
    lastname: { required: true, minlength: 3 },
    test1: { required: true, minlength: 3 },
    test2: { required: true, minlength: 3 }
};

rules1このオブジェクトは関数で変換されるため、の PHP 配列がどのように見えるかを知る必要もありjson_encodeます。

4

1 に答える 1

0

これを行うと、それらをマージできます。

var merged =  $.extend(rules1, rules2);

PHP からビルドする場合、オブジェクトは次のようになります。

$rules = new stdClass;
$rules->test1 = new stdClass;
$rules->test1->required = true;
....

個人的には、PHP では配列を操作することを好みます。次に、いくつかのカスタム関数を使用して、再帰的に stdClass に変換できます。これらのいずれかをここで見つけることができます。

http://www.richardcastera.com/blog/php-convert-array-to-object-with-stdclass

于 2012-10-12T08:33:01.327 に答える