我有多个数组如下所示。
<?php
$arrLayout = array(
"section1" => array(
"wXBMCLibrary" => array(
"title" => "XBMC Library",
"display" => ""
),
"wRecentMovies" => array(
"title" => "Recent Movies",
"display" => ""
)
),
"section2" => array(
"wComingEpisodes" => array(
"title" => "Coming Episodes",
"display" => ""
),
"wSearch" => array(
"title" => "Search",
"display" => ""
)
),
);
从查看代码我可以看到wXBMCLibrary来自section1。有没有办法通过PHP检查每个东西来自哪个部分?因此,如果我将wXBMCLibrary移动到第2部分并重新编写代码,则会显示它现在位于第2部分。希望这是有道理的。
我想
if ( $wXBMCLibrary == "false" )
{
unset($arrLayout['section1']['wXBMCLibrary']);
}
除非wXBMCLibrary可以在section2中,因为它动态移动所以unset函数中的section1部分不准确,所以这一切都完美无缺。我需要一种方法来检查它所在的部分,以便我可以用定义当前部分的变量替换section1。
由于
答案 0 :(得分:1)
function which_section($array, $find) {
foreach ($array as $key => $value)
foreach ($value as $k => $v)
if ($k == $find) return $key;
return false;
}
$section = which_section($arrLayout, 'wXBMCLibrary');
unset($arrLayout[$section]['wXBMCLibrary']);
答案 1 :(得分:0)
PHP中的数组没有像大多数文件系统那样在父级别获得..
类型的东西。要获得记录,您必须知道通过数组到达数据所在位置的“路径”。如果没有这条路径,您将不得不重新扫描数组以查找数据,并跟踪通过它的路径。