2009-08-15 14 views
0

は、これは私の配列である:私は(1)配列歩き、PHPやJavaScriptで置き換える(phpjsは)

[frnds] => Array 
(
    [name] => frnd_of_xyx 
    [id] => 1 
    [url] =>example.com/frnd_of_xyx /* this is the unique key */ 
    [address] => Array 
     (
      [city] => NewZend 
      [zip] => 100450 
     ) 
) 

array_figと次の配列array_figを交換する必要が

$frndof = array(
     "name" => 'frnd_of_xyx', 
     "id" => 001, 
     "url" => 'example.com/frnd_of_xyx', 
     "address" => array(
       "city" => 'NewZend', 
       "zip" => '100450')); 
$frndof1 = array(
     "name" => 'frnd_of_xyx1', 
     "id" => 0011, 
     "url" => 'example.com/frnd_of_xyx1', 
     "frnds" => $frndof, 
     "address" => array(
       "city" => 'NewZend1', 
       "zip" => '100422')); 
$a = array(
     array(
       "name" => 'xyx', 
       "id" => 001, 
       "url" => 'example.com/xyx', 
       "address" => array(
         "city" => 'cochin', 
         "zip" => '100450')), 
     array(
       "name" => 'abc', 
       "id" => 001, 
       "url" => 'example.com/abc', 
       "frnds" => $frndof1, 
       "address" => array(
         "city" => 'Bosco', 
         "zip" => '100450')), 
     array(
       "name" => 'EFG', 
       "id" => 001, 
       "url" => 'example.com/EFG', 
       "address" => array(
         "city" => 'NY', 
         "zip" => '100450'))); 

(2)

[frnds] => Array 
(
    [name] => frnd_of_xyx 
    [id] => 1 
    [url] =>example.com/frnd_of_xyx /* this is the unique key */ 
    [address] => Array 
     (
      [city] => NewZend_neww 
      [zip] => 1004501212122 
     ) 
) 

キーURLはユニークキーです。 [frnds]配列は新しい[frnds]配列で置き換える必要があります。 ie「[url]」キーを親キーまたは配列キーとして使用する方法

**注:**この配列がそのようにXMLの生成に使用され、これらは、要素と属性なので、内側の要素の概念

+0

ようなもの、この配列がそのようにXML生成のために使用され、これらの要素とarrtibutes、インナーエレメントの概念 – coderex

+0

あり、この配列は、JSONの出力であり、この出力はXMLを生成するための入力として使用されます。 – coderex

答えて

0

あなたは、アレイ内の実際のキーとしてキーフィールドを使用していないとして、利用可能な唯一の手法は線形検索です。つまり、foreachを使用して配列全体を繰り返し処理します。 JavaScriptで

$found=false; 
foreach ($myarray as $key=>$val) 
{ 
    if ($val['url']==$targetURL) 
    { 
     $myarray[$key]['address']=$newAddress; 
     $found=true; 
     break; 
    } 
} 

、この

var found=false; 
    var key; 
    for (key in myarray) 
    { 
     if (myarray[key]['url']==targetURL) 
     { 
      myarray[key]['address']=newAddress; 
      found=true; 
      break; 
     } 
    } 
+0

これはJavascriptで可能ですか? – coderex

+0

@ Paul Dixon:この配列は、XML生成に使用されます。 – coderex

+0

@Paul Dixon:アドレスを置き換えていますが、URLを持つ完全な[frnds]配列を置き換える必要があります – coderex

関連する問題