dizi php veya Javascript yürümek ve replace (phpjs)

1 Cevap php

Bu benim bir dizidir:

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

I (1) ile aşağıdaki dizi array_fig değiştirmek için bir ihtiyaç

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

The Key URL is the Unique key. [frnds] array need to be replace with new [frnds] array. ie How to find the parent key or array key with " [url] " key as the unique.

* Note: * Bu dizi bu yüzden bu unsurları ve nitelikleri, bu yüzden iç elemanları kavramları XML nesil için kullanılır

1 Cevap

Eğer dizideki gerçek anahtarı olarak anahtar alanını kullanmadıysanız gibi, sadece mevcut tekniği yani foreach ile tüm dizi boyunca yineleme, doğrusal bir arama motorudur.

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

JavaScript, böyle bir şey

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