我有这个数组
Array
(
[0] => Array
(
[sitename] => newsite
[sitelink] => link1
[tosite] => testsite
[tolink] => ABCD
)
[2] => Array
(
[sitename] => newsite
[sitelink] => link2
[tosite] => secondsite
[tolink] => 1234
)
)
我需要能够在数组中搜索设置了sitename
且sitelink
是link1
或link2
的条目
因此,如果搜索确定设置了站点名称并且sitelink = link1,则它将返回ID 0
如果搜索发现站点名称已设置且sitelink = link2,则它将返回ID 3
我希望创建一个类似于以下内容的函数:
arraysearch ('link1', $myarray);
该函数将搜索$ myarray,仅检查设置了站点名称的条目,无关紧要,并且站点链接是搜索的值。例如:link1
通常数组中有数百个条目。
有什么办法吗?
这是我要测试的地方。
function myfunction($array, $site, $value)
{
foreach($array as $key => $newarr)
{
if ( $newarr[$site] === $value )
return $key;
}
return false;
}
echo myfunction($sites, 'sitelink', 'link1');
这种方法有效,但它不会检查是否设置了站点名称。
谢谢
答案 0 :(得分:0)
尝试一下:
function myfunction($array, $site, $value)
{
foreach($array as $key => $newarr)
{
if ( $newarr[$site] === $value && isset( $newarr['sitename'] ) )
return $key;
}
return false;
}
echo myfunction($sites, 'sitelink', 'link1');