$schema を認識する関数があります。
私の $schema['replace'] によると、値を置き換えます。
私の機能は失敗します。期待どおりに動作しません。
誰でも私を助けることができますか?私の機能を完了するために
$schema = array(
array(
'tag' => 'div',
'class' => 'lines',
'repeat' => array(
'tag' => 'div',
array(
'tag' => 'span',
'style' => 'margin:10px; padding:10px',
'key' => 'title',
),
'key' => 'subject',
)
)
);
$repeat = array('Country Name' => 'Usa', 'City Name' => 'Newyork');
function repeat($schema, $repeat){
foreach($schema as $k => $v){
if($k == 'repeat'){
foreach($repeat as $rk => $rv){
$repeat[] = array_replace($schema,array_fill_keys(array_keys($schema, 'title'),$rk));
$repeat[] = array_replace($schema,array_fill_keys(array_keys($schema, 'subject'),$rv));
}
}
}
unset($schema[0]['repeat']);
$schema['repeat'] = $repeat;
return $schema;
}
print_r(repeat($schema, $repeat));
期待される出力
Array
(
[0] => Array
(
[tag] => div
[class] => lines
[0] => Array
(
[tag] => div
[0] => Array
(
[tag] => span
[style] => margin:10px; padding:10px
[key] => Country Name
)
[key] => Usa
)
[1] => Array
(
[tag] => div
[0] => Array
(
[tag] => span
[style] => margin:10px; padding:10px
[key] => City Name
)
[key] => Newyork
)
)
)
私の機能の何が問題になっていますか?