Heim Backend-Entwicklung PHP-Tutorial php小白有关问题

php小白有关问题

Jun 13, 2016 am 10:26 AM
echo enum gt name quot

php小白问题

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpclass Enum{    protected $self=array();    public function _construct()    {        $args=func_get_args();        for($i=0,$n=count($args);$i<$n;$i++)            $this->add($args[$i]);    }    public function _get($name=null)    {        return $this-&gt;self[$name];    }    public function add($name=null,$enum=null)    {        if(isset($enum)) $this-&gt;self[$name]=$enum;        else $this-&gt;sef[$name]=end($this-&gt;self)+1;    }}class DefinedEnum extends Enum{    public function _construct($itms)    {        foreach($itms as $name=&gt;$enum)        $this-&gt;add($name,$enum);    }}class FlagsEnum extends Enum{    public function _construct()    {        $args=func_get_args();        for($i=0,$n=count($args),$f=0x1;$iadd($args[i],$f);    }}$eFruits=new Enum("APPLE","ORANGE","PEACH");echo $eFruits-&gt;APPLE.",";echo $eFruits-&gt;ORANGE.",";echo $eFruits-&gt;PEACH."\n";$eBeers=new DefinedEnum("GUINESS"=&gt;25,"MIRROR_POND"=&gt;49);echo $eBeers-&gt;GUINESS.",";echo $eBeers-&gt;MIRROR_POND."\n";$eFlags=new FlagsEnum("HAS_ADMIN","HAS_SUPER","HAS_POWER","HAS_GUEST");echo $eFlags-&gt;HAS_ADMIN.",";echo $eFlags-&gt;HAS_SUPER.",";echo $eFlags-&gt;HAS_POWER.",";echo $eFlags-&gt;HAS_GUEST."\n";?&gt;
Nach dem Login kopieren


这段代码我怎么看不懂啊
哪里来的$eFruits->APPLE
 $eFruits->ORANGE
$eFruits->PEACH
不要见笑啊




------解决方案--------------------
1、你先把程序修改正确了:方法名前有下划线的方法名一律改成两个下划线的
如 _construct 改为 __construct

2、修改 __get 方法成这样
public function __get($name=null)
{
echo "读取属性 $name";
return $this->self[$name];
}
3、运行修改后的代码,你就可以知道是怎么回事了

------解决方案--------------------
PHP code
 class Enum{    protected $self=array();    public function __construct()    {        $args=func_get_args();        for($i=0,$n=count($args);$iadd($args[$i]);    }    public function __get($name=null)    {        return $this-&gt;self[$name];    }    public function add($name=null,$enum=null)    {        if(isset($enum)){            $this-&gt;self[$name]=$enum;        }else{                   $this-&gt;self[$name]=end($this-&gt;self)+1;        }            }}class DefinedEnum extends Enum{    public function __construct($itms)    {        foreach($itms as $name=&gt;$enum)        $this-&gt;add($name,$enum);    }}class FlagsEnum extends Enum{    public function __construct()    {        $args=func_get_args();        for($i=0,$n=count($args),$f=0x1;$iadd($args[$i],$f);        }    }} $eFruits=new Enum("APPLE","ORANGE","PEACH");echo $eFruits-&gt;APPLE.",";echo $eFruits-&gt;ORANGE.",";echo $eFruits-&gt;PEACH."\n";$eBeers=new DefinedEnum(array("GUINESS"=&gt;25,"MIRROR_POND"=&gt;49));echo $eBeers-&gt;GUINESS.",";echo $eBeers-&gt;MIRROR_POND."\n"; $eFlags=new FlagsEnum("HAS_ADMIN","HAS_SUPER","HAS_POWER","HAS_GUEST");echo ($eFlags-&gt;HAS_ADMIN).",";echo ($eFlags-&gt;HAS_SUPER).",";echo $eFlags-&gt;HAS_POWER.",";echo $eFlags-&gt;HAS_GUEST."\n";<br><font color="#e78608">------解决方案--------------------</font><br>两个下划线就都对了。<div class="clear">
                 
              
              
        
            </div>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4?

So verwenden Sie das Enum-Modul zum Definieren von Aufzählungstypen in Python 2.x So verwenden Sie das Enum-Modul zum Definieren von Aufzählungstypen in Python 2.x Jul 29, 2023 pm 09:33 PM

So verwenden Sie das Enum-Modul zum Definieren von Aufzählungstypen in Python 2.x

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

Fix: Snipping-Tool funktioniert unter Windows 11 nicht

Fünf ausgewählte Open-Source-Projekte in der Go-Sprache, mit denen Sie die Welt der Technologie erkunden können Fünf ausgewählte Open-Source-Projekte in der Go-Sprache, mit denen Sie die Welt der Technologie erkunden können Jan 30, 2024 am 09:08 AM

Fünf ausgewählte Open-Source-Projekte in der Go-Sprache, mit denen Sie die Welt der Technologie erkunden können

Go-Grundlagen zur Sprachentwicklung: 5 beliebte Framework-Empfehlungen Go-Grundlagen zur Sprachentwicklung: 5 beliebte Framework-Empfehlungen Mar 24, 2024 pm 01:15 PM

Go-Grundlagen zur Sprachentwicklung: 5 beliebte Framework-Empfehlungen

So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone Jul 29, 2023 am 08:22 AM

So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone

Implementierung der verteilten Aufgabenplanung mit Golangs Web-Framework Echo-Framework Implementierung der verteilten Aufgabenplanung mit Golangs Web-Framework Echo-Framework Jun 24, 2023 am 11:49 AM

Implementierung der verteilten Aufgabenplanung mit Golangs Web-Framework Echo-Framework

Laravel-Entwicklung: Wie implementiert man die WebSockets-Kommunikation mit Laravel Echo und Pusher? Laravel-Entwicklung: Wie implementiert man die WebSockets-Kommunikation mit Laravel Echo und Pusher? Jun 13, 2023 pm 05:01 PM

Laravel-Entwicklung: Wie implementiert man die WebSockets-Kommunikation mit Laravel Echo und Pusher?

See all articles