У меня есть функция, которая распознает мой $ схему,многомерный поиск массива и заменить не работает
Согласно моему $ схемы [ «заменить»] он заменяет значения.
Моя функция не работает. Не работает так, как ожидалось.
Любой может мне помочь? чтобы завершить мою функцию
$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
)
)
)
Что случилось с моей функцией?
Арди Большое спасибо за ваш ответ. Но мой массив не является постоянным. $ schema [0] ['repeat'] может быть как $ schema [0] [0] ['repeat']; Я нашел функцию для поиска ключа, но я не мог найти способ заменить. Можете ли вы это сделать? http://www.php.net/manual/en/function.array-search.php#109720 –
Я внесла изменения в код. Теперь он работает независимо от структуры массива. – Ardi
Спасибо ardi, это хорошая работа. –