这是我的阵列:
$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)[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
)
)
Key URL是唯一键。 [frnds]数组需要替换为新的[frnds]数组。 即如何使用“ [url] ”键作为唯一键来查找父键或数组键。
**注意:**此数组用于生成XML,因此,这些是元素和属性,因此内部元素概念
答案 0 :(得分:0)
由于您没有将关键字段用作数组中的实际关键字,唯一可用的技术是线性搜索,即使用foreach迭代整个数组。
$found=false;
foreach ($myarray as $key=>$val)
{
if ($val['url']==$targetURL)
{
$myarray[$key]['address']=$newAddress;
$found=true;
break;
}
}
在Javascript中,类似这样的
var found=false;
var key;
for (key in myarray)
{
if (myarray[key]['url']==targetURL)
{
myarray[key]['address']=newAddress;
found=true;
break;
}
}