首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php或Javascript(phpjs)中数组遍历和替换

在php或Javascript(phpjs)中数组遍历和替换
EN

Stack Overflow用户
提问于 2009-08-15 06:29:19
回答 1查看 941关注 0票数 0

这是我的阵列:

代码语言:javascript
复制
$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')));

我需要一个将以下数组array_fig(1)替换为

代码语言:javascript
复制
[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)

代码语言:javascript
复制
[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数组。如何找到以“url”键为唯一的父键或数组键。

**注:**该数组用于XML生成,因此,这些是元素和属性,因此是内部元素概念

EN

回答 1

Stack Overflow用户

发布于 2009-08-15 06:46:20

由于您还没有将键字段用作数组中的实际键,唯一可用的技术是线性搜索,即使用foreach对整个数组进行迭代。

代码语言:javascript
复制
$found=false;
foreach ($myarray as $key=>$val)
{
    if ($val['url']==$targetURL)
    {
        $myarray[$key]['address']=$newAddress;
        $found=true;
        break; 
    }
}

在Javascript中,类似这样的

代码语言:javascript
复制
   var found=false;
   var key;
   for (key in myarray)
   {
       if (myarray[key]['url']==targetURL)
       {
             myarray[key]['address']=newAddress;
             found=true;
             break;
       }
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1281314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档