2009-08-15 4 views
0

Ceci est mon tableau:tableau marcher et remplacer en php ou Javascript (phpjs)

$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'))); 

je besoin d'un pour remplacer le array_fig tableau suivant (1) avec

[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 (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 
     ) 
) 

L'URL de clé est la clé unique. [frnds] array doit être remplacé par un nouveau tableau [frnds]. Comment trouver la clé parente ou la clé de tableau avec la clé "[url]" comme unique.

** Note: ** Ce tableau est utilisé pour la génération XML ainsi, ce sont les éléments et attributs, des éléments internes si les concepts

+0

ce tableau est utilisé pour la génération xml donc, ce sont les éléments et arrtibutes, donc des éléments internes concepts – coderex

+0

ce tableau est une sortie du JSON, et cette sortie prise comme l'entrée pour générer XML. – coderex

Répondre

0

Comme vous ne l'avez pas utilisé comme clé réelle dans votre tableau le champ de clé, la seule technique disponible est la recherche linéaire, c'est-à-dire parcourir tout le tableau avec foreach.

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

En Javascript, quelque chose comme ça

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

est-ce possible en Javascript? – coderex

+0

@Paul Dixon: Ce tableau est utilisé pour la génération de XML. – coderex

+0

@Paul Dixon: maintenant il remplace l'adresse, mais je dois remplacer le tableau complet [frnds] qui a l'url – coderex