2009-08-15 2 views
0

이 내 배열 : I (1)배열 걸어 PHP 나 자바 스크립트에서 대체 (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

때문에, 이러한 요소와 arrtibutes, – coderex

+0

이 배열은 JSON의 출력 그래서 내부 요소 개념은이 배열이 XML 생성에 사용되는이 같은, 이 출력은 generte XML의 입력으로 사용됩니다. – coderex

답변

0

이 사용되며, 유일하게 사용 가능한 기법은 선형 검색입니다. 즉, foreach를 사용하여 전체 배열을 반복합니다.

자바 스크립트
$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

관련 문제