如何在php中动态获取多维数组值?
测试主题获取帖子元(“一个动态id”,“两个动态id”) 你好,, 我想用php创建一个动态函数。但我不能。 我的问题是:我有一个多维数组,我想通过函数动态地获取这些值 比如,如果我在test_theme_get_post_meta()函数中传递一个参数,它将返回第一个DYTITE值,如果我传递两个参数,它将传递第二个DYTITE值。所以我想得到无限的价值 我不想创建案例1、2、3、4等。我希望它是自动的 如果有人知道解决办法,请帮助我如何在php中动态获取多维数组值?,php,arrays,wordpress,Php,Arrays,Wordpress,测试主题获取帖子元(“一个动态id”,“两个动态id”) 你好,, 我想用php创建一个动态函数。但我不能。 我的问题是:我有一个多维数组,我想通过函数动态地获取这些值 比如,如果我在test_theme_get_post_meta()函数中传递一个参数,它将返回第一个DYTITE值,如果我传递两个参数,它将传递第二个DYTITE值。所以我想得到无限的价值 我不想创建案例1、2、3、4等。我希望它是自动的 如果有人知道解决办法,请帮助我 提前感谢这是否实现了您的期望 function test_
提前感谢这是否实现了您的期望
function test_theme_get_post_meta() {
$post_meta = get_post_meta( get_the_ID(), 'test_options', true); // this will return multi dymentional array
$func_args = func_get_args(); // to get func argument
switch (func_num_args()) {
case 1:
if(isset($post_meta[$func_args[0]])) {
return $post_meta[$func_args[0]];
}
break;
case 2:
if(isset($post_meta[$func_args[0]][$func_args[1]])) {
return $post_meta[$func_args[0]][$func_args[1]];
}
break;
case 3:
if(isset($post_meta[$func_args[0]][$func_args[1]][$func_args[2]])) {
return $post_meta[$func_args[0]][$func_args[1]][$func_args[2]];
}
break;
} }
非常感谢:)为您的伟大和更简单的解决方案
function test_theme_get_post_meta() {
$result = get_post_meta( get_the_ID(), 'test_options', true); // this will return multi dymentional array
foreach (func_get_args() as $arg) {
if (isset($result[$arg])) {
$result = $result[$arg];
}
else {
// might want to throw exception or return null if not found
}
}
return $result;
}