gpt4 book ai didi

php - 在 PHP 类中使用数组

转载 作者:行者123 更新时间:2023-12-01 22:41:07 25 4
gpt4 key购买 nike

我正在练习一些 PHP OOP,因此我正在创建一个类来创建一个简单的导航菜单(将来会有扩展),现在我已经构建了这个类,它有点工作......只有 1 个菜单项很难......我不;不知道如何在我的类中使用数组来使用类

<?php
$menu = new Navigation("Test", "mainmenu");

$menu->setMenuItem("home", "test");
echo $menu->display();

?>

如您所见,我应该能够为每个菜单项提供 setMenuItem();方法。但是因为它现在不使用数组,所以我只得到第一个值

类本身如下:

<?php
class Navigation implements navigationInterface {

public $menu = null;
public $name = null;
public $klasse = null;

public function __construct($name, $klasse) {

$this->name = $name;
$this->klasse = $klasse;

}

public function getName() {
return $this->name;
}

public function getClass() {
return $this->klasse;
}

public function setMenuItem($items) {
$this->menuItem = $items;
}

public function getMenuItem() {
return $this->menuItem;
}

public function display() {

$menu = '<nav class="' . $this->getName() . '">';
$menu .= '<li><a class="' . $this->getClass() . '" href="index.php?page=' . $this->getMenuItem() . '.php">' . $this->getMenuItem() . '</a></li>';
$menu .= '</nav>';

return $menu;

}
}
?>

谁能告诉我如何在类中结合使用数组和循环来创建包含所有给定值的菜单?

提前致谢。

最佳答案

<?php
class Navigation{

public $menu = null;
public $name = null;
public $klasse = null;

public function __construct($name, $klasse) {

$this->name = $name;
$this->klasse = $klasse;

}

public function getName() {
return $this->name;
}

public function getClass() {
return $this->klasse;
}

public function setMenuItem($items) {

$this->menuItem = $items;
}

public function getMenuItem($menu) {
return $menu;
}

public function display() {

$menu = '<nav class="' . $this->getName() . '">';
if(is_array($this->menuItem))
{
foreach($this->menuItem as $val)
{
$menu .= '<li><a class="' . $this->getClass() . '" href="index.php?page=' . $this->getMenuItem($val) . '.php">' . $this->getMenuItem($val) . '</a></li>';
}
}
else{
$menu .= '<li><a class="' . $this->getClass() . '" href="index.php?page=' . $this->getMenuItem($this->menuItem) . '.php">' . $this->getMenuItem($this->menuItem) . '</a></li>';

}


$menu .= '</nav>';

return $menu;

}
}
?>

<?php
$menu = new Navigation("Test", "mainmenu");

$menu_items=array("home","test");
$menu->setMenuItem($menu_items);

echo $menu->display();

?>

关于php - 在 PHP 类中使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13220982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com