我有一个我需要创建的变量列表:
$meta_2_length = get_post_meta( get_the_ID(), 'meta-2-length', true );
$meta_2_loft = get_post_meta( get_the_ID(), 'meta-2-loft', true );
$meta_2_lie = get_post_meta( get_the_ID(), 'meta-2-lie', true );
$meta_2_bounce = get_post_meta( get_the_ID(), 'meta-2-bounce', true );
我需要为数字2 - 14制作这些,所以我认为最好的方法是循环。我是php的新手但想尽可能写得干净。我认为这可能有用:
for($i = 0; $i <= 14; $i++) {
${"meta_$i_length"} = "get_post_meta( get_the_ID(), 'meta-$i-length', true );";
}
但是当我echo $meta_3_length
答案 0 :(得分:0)
我建议您创建一个数组。并在循环中给出数组值。
例如
$foo = array();
for($i = 0; $i <= 14; $i++) {
$foo[] = "get_post_meta( get_the_ID(), 'meta-$i-length', true );";
}
然后使用数组
回显数据答案 1 :(得分:0)
您可以使用variable variables:
for($i = 0; $i <= 14; $i++) {
$varname = "meta_$i_length";
$$varname = get_post_meta( get_the_ID(), 'meta-$i-length', true );
}
答案 2 :(得分:0)
使用一组关联数组。
$metas = array();
$id = get_the_ID();
for ($i = 0; $i <= 14; $i++) {
$metas[] = array(
'length' => get_post_meta($id, "meta-$i-length", true),
'loft' => get_post_meta($id, "meta-$i-loft", true),
'lie' => get_post_meta($id, "meta-$i-lie", true),
'bounce' => get_post_meta($id, "meta-$i-bounce", true)
);
}
现在你可以echo $metas[3]['length'];
。
答案 3 :(得分:0)
您可以将extract
与关联数组一起使用:
$arr = [];
for($i = 0; $i <= 14; $i++) {
$arr["meta_{$i}__length"] = get_post_meta( get_the_ID(), "meta-{$i}-length", true);
}
extract($arr);
然后,您可以执行echo $meta_3__length
并获取函数调用的结果get_post_meta( get_the_ID(), "meta-3-length', true);
我希望它有所帮助