2013-11-15 5 views
-2

У меня есть массив, как показано ниже;Отображение содержимого массива

<?php 

foreach ($arr['sections'] as $key => $value) 
{ 
    return $key; 
} 

?> 

который возвращает значения part1, part2, part3, которые я хочу поставить в следующий

get_template_part('content', '$key'); 

Так что я получаю блок кода, чтобы отобразить 3 строки с частью на месте, но я не могу понять, правильный способ получить его к выходу, я пытался что-то вроде

<?php 

foreach ($arr['sections'] as $key => $value) 
{ 
    $output = "get_template_part('content', '"; 
    $output .= $key; 
    $output .= "');"; 

    return $output; 

} 

?> 

Но это не работает, любой совет или помощь приветствуется.

ответ

3

Просто вызовите функцию для каждого ключа, передавая параметру

foreach ($arr['sections'] as $key => $value) 
{ 

get_template_part('content',$key); 

} 

или если вы хотите, чтобы все содержимое в некоторой переменной

$output=''; 
foreach ($arr['sections'] as $key => $value) 
{ 

$output.=get_template_part('content',$key); 

} 
echo $output; /* will have the content from all parts (part1, part2, part3) */ 
0

Вы не показывать массив таким образом, мы не знаете, что вы хотите передать точно, но как насчет:

$output = call_user_func_array('get_template_part', $arr['sections']); 

Или если по какой-либо причине вы действительно хотите, чтобы «ключи» прошли:

$output = call_user_func_array('get_template_part', array_keys($arr['sections'])); 

Или добавить «содержание»:

array_unshift($arr['sections'], 'content'); 
$output = call_user_func_array('get_template_part', $arr['sections']); 
+1

следующий уход времени, чтобы объяснить, прежде чем downvote кто-то –

+1

Мой плохой, если это то, что они хотели, то я должен был downvoted их. Не видел, как нужно повторять функцию с учетом их кода. Если вы отредактируете свой пост, я подниму вас. – AbraCadaver

+1

Отредактировано мое сообщение ..... –

Смежные вопросы