我正在尝试更多地了解数组和foreach语句。
在一个文件中,我有以下类和函数:
class Onboarding_Dashboard {
static function dashboard_onboarding_content() {
$items = array(
'stage-1' => array(
'title' => 'Hello',
'content' => 'This is some content text',
'show-next' => 'true',
'show-prev' => 'true',
),
'stage-2' => array(
'title' => 'Hello',
'content' => 'This is some content text',
'show-next' => 'true',
'show-prev' => 'true',
)
)
}
}
在另一个文件中,我想使用此内容创建一个foreach语句。像这样:
static function action_get_content() {
$items = Onboarding_Dashboard::dashboard_onboarding_content();
foreach ($items as $item) {
echo '<h2>'.$item['title'].'</h2>';
echo '<p>'.$item['content'].'</p>';
}
}
但是我不确定还需要添加什么才能从我的Class函数dashboard_onboarding_content中获取数据
更新:我已经更新了我的foreach语句,并将其包装在一个函数中。如何在我的代码中的另一点选择此函数的结果 - 它就像执行
一样简单echo action_get_content();
答案 0 :(得分:1)
已编辑回答OP的评论
当op询问如何创建另一个处理foreach然后可以回显的函数时,我添加了dashboard_foreach_example()
函数。
class Onboarding_Dashboard {
static function dashboard_onboarding_content(){
$items = array(
'stage-1' => array(
'title' => 'Hello',
'content' => 'This is some content text',
'show-next' => 'true',
'show-prev' => 'true',
),
'stage-2' => array(
'title' => 'Hello',
'content' => 'This is some content text',
'show-next' => 'true',
'show-prev' => 'true',
)
);
return $items;
}
static function dashboard_foreach_example(){
$items = self::dashboard_onboarding_content();
$output = '';
foreach ($items as $item) {
$output .= '<h2>'.TITLE ATTRIBUTE.'</h2>';
$output .= '<p>'.TITLE ATTRIBUTE.'</p>';
}
return $output;
}
}
您现在可以简单地回显dashboard_foreach_example()
,因为它将在函数
echo Onboarding_Dashboard::dashboard_foreach_example();
答案 1 :(得分:1)
更改您的函数以返回数组:
class Onboarding_Dashboard {
static function dashboard_onboarding_content() {
// your $items array stays here
return $items;
}
}
function action_get_content() {
$html = '';
foreach (Onboarding_Dashboard::dashboard_onboarding_content() as $item) {
$html .= '<h2>'.$item['title'].'</h2>';
$html .= '<p>'.$item['title'].'</p>';
}
return $html;
}
然后你这样输出:
echo action_get_content();
或者,您可以将此功能作为课程的一部分:
class Onboarding_Dashboard {
static function dashboard_onboarding_content() {
// your $items array stays here
return $items;
}
static function action_get_content() {
$html = '';
foreach (self::dashboard_onboarding_content() as $item) {
$html .= '<h2>'.$item['title'].'</h2>';
$html .= '<p>'.$item['title'].'</p>';
}
return $html;
}
}
然后你这样输出:
echo Onboarding_Dashboard::action_get_content();