我希望这是问这个问题的最好方法。不知道如何说出来。我当时认为有一个原生的PHP函数可以确定这一点,这让我觉得我的搜索措辞可能并不是最好的。
我想在我的数组中搜索特定的[key] => [值]。
如果[key] => [value]在我的数组中找到我想得到另一个[key] =>来自其数组父级的[value]。
以下代码中的示例来解释。
示例1:
如果[post_type] = [page]我想从数组[0]获取[activate_layout] = [value]。
示例2:
如果[post_type] = [post]我想从数组[1]中获取[activate_layout] = [value]。
一般概念示例3:
如果[post_type] = [x]我想从其父数组[x]中获取[activate_layout] = [x]。
我的问题是如何通过其父数组[key]区分[key]和[value]与另一个[key]和[value]?
以下是我的数组数据的存储方式。
[post_type_layouts] => Array
(
[0] => Array
(
[context] => Array
(
[option] => Array
(
[activate_layout] => 1
[post_type] => page
)
)
)
[1] => Array
(
[context] => Array
(
[option] => Array
(
[activate_layout] => 1
[post_type] => post
)
)
)
)
答案 0 :(得分:1)
如果我真的了解你的问题,我认为你正在做的解决方案更简单。
我像示例一样关注这个数组:
$arrayTest = [
0 => [
'context' => [
'option' => [
'post_type' => 'page',
],
],
],
1 => [
'context' => [
'option' => [
'post_type' => 'post',
],
],
],
];
然后,浏览并获得post_type
的父值,我只创建foreach
行为,我使用switch
steatment检查post_type
值。它是这样的:
foreach ($arrayTest as $subLevel1) {
switch ($subLevel1['context']['option']['post_type']) {
case 'page':
$subLevel1['context']['option']['active_layout'] = 0;
break;
default:
$subLevel1['context']['option']['active_layout'] = 1;
break;
}
print_r($subLevel1);
}
我的回报就像上面的示例,我认为这可以解决您的问题:
php -f testArray.php
Array
(
[context] => Array
(
[option] => Array
(
[post_type] => page
[active_layout] => 0
)
)
)
Array
(
[context] => Array
(
[option] => Array
(
[post_type] => post
[active_layout] => 1
)
)
)
好的代码!