多维数组结构到PHP HTML输出?
我在我的网站上重复了一些章节 我正在努力减少它们 我的方法是,有一次我将创建一个html模式(预定义为数组),通过这个模式,我的函数将解释用户需要什么样的输出,并根据我的变量输出结果 我的问题是我找不到一个方法来解决这个问题 输入变量可能是(不定式) 预期产出正常多维数组结构到PHP HTML输出?,php,html,multidimensional-array,output,Php,Html,Multidimensional Array,Output,我在我的网站上重复了一些章节 我正在努力减少它们 我的方法是,有一次我将创建一个html模式(预定义为数组),通过这个模式,我的函数将解释用户需要什么样的输出,并根据我的变量输出结果 我的问题是我找不到一个方法来解决这个问题 输入变量可能是(不定式) 预期产出正常 <div class="lines"> <div><span>Country Name</span>USA</div> <div><span
<div class="lines">
<div><span>Country Name</span>USA</div>
<div><span>Country Name</span>Canada</div>
<div><span>Country Name</span>Mexico</div>
</div>
<div class="lines">
<div><span>Country Name</span>USA</div>
<div><span>Country Name</span>Canada</div>
</div>
<div class="lines">
<div><span>Country Name</span>USA</div>
</div>
我的函数从该模式创建输出。(架构可能会根据用户需要进行扩展。)
更新1
我当前的输出是下面的html代码,我找不到一种方法来推送变量。哪些是国家/地区名称
<div class="lines">
<div><span></span></div>
<div><span></span></div>
</div>
你的问题到底是什么?@Patrick Kostjens我想从这个函数中得到定义为@question的输出。那么你现在得到了什么?你期望什么呢?我只得到一个变量,我找不到一种方法把我的变量放入输出函数中。
$schema = array(
array(
'tag' => 'div',
'class' => 'lines',
array(
'tag' => 'div',
array(
'tag' => 'span',
'key' => '$key'
),
'key' => '$key'
),
)
);
function get_output($schema, $vals, $t = -1){
$t++;
$tag = "";
$atts = array();
$keys = array();
$code = array();
foreach($schema as $k => $v){
if(is_array($v)){
$keys[] = get_output($v, $vals, $t);
} else {
switch($k){
case "tag": $tag = $v; break;
case "key": break;
case "type": break;
default: $atts[$k] = $v; break;
}
}
}
if($tag){
$code[] = "<$tag";
foreach($atts as $k=>$v)
{
$code[] = ' '.$k.'="'.urlencode($v).'"';
}
$code[] = ">";
$code = array(implode('', $code));
}
foreach($keys as $k)
{
$code[] = $k;
}
if($tag){
$code[] = '</'.$tag.'>';
}
return implode("", $code);
}
$vals = array('Country Name' => 'USA', 'Country Name' => 'Canada', 'Country Name' => 'Mexico');
echo get_output($schema, $vals, -1);
<div class="lines">
<div><span></span></div>
<div><span></span></div>
</div>
$schema = array(
'div' => array(
'class' => 'lines',
'div' => array(
'span' => array(
'key' => '$k[0]'
),
'key' => '$k[1]'
)
);