Php 如何通过父数组[key]将[key]和[value]与另一个[key]和[value]区分开来?
我希望这是最好的提问方式。不知道该怎么说。我想有一个本地PHP函数来确定这一点,这让我觉得我在搜索中的措辞可能不是最好的 我想在数组中搜索特定的[key]=>[value] 如果在我的数组中找到该[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]区分开来 下面是我的阵列数据的存储方式Php 如何通过父数组[key]将[key]和[value]与另一个[key]和[value]区分开来?,php,arrays,Php,Arrays,我希望这是最好的提问方式。不知道该怎么说。我想有一个本地PHP函数来确定这一点,这让我觉得我在搜索中的措辞可能不是最好的 我想在数组中搜索特定的[key]=>[value] 如果在我的数组中找到该[key]=>[value],我想从其数组父级获取另一个[key]=>[value] 下面是我代码中的示例来解释 示例1: 如果[post_type]=[page],我想从数组[0]中获取[activate_layout]=[value] 示例2: 如果[post_type]=[post],我想从数组[
[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
)
)
)
)
如果我真的理解你的问题,我认为解决方法比你现在做的更简单 下面是一个类似数组的示例:
$arrayTest = [
0 => [
'context' => [
'option' => [
'post_type' => 'page',
],
],
],
1 => [
'context' => [
'option' => [
'post_type' => 'post',
],
],
],
];
而且,在那里冲浪并获取post_type
的父值,我只创建一个foreach
steatment,在这里我使用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
)
)
)
好代码 需要一个草书函数才能显示出应该如何看最终结果?这会增加你得到快速帮助的机会。下面是一个不使用递归函数的答案。我只需要根据我的需要修改一下,我对批准的答案进行了评论。谢谢这看起来太棒了!!我认为这也很容易以一种更轻松的方式回答我的问题。我将与它玩确认和回答/更新。谢谢!这让我以适当的方式开始了!我需要删除开关case,因为我需要case值是一个Wordpress函数来匹配var,就像这样$post_type=$post_type_布局['context']['option']['post_type'];如果(是单数($post_type)){//此自定义代码…}或者(!是单数($This_post_type)){//此默认代码…}欢迎使用!任何时候,我们所需要的一切都是一个小小的脚踢,把我们带到正确的方向。好代码!