Archief - PHP: Class met arrays

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ryzer

Legacy Member
Hey,

Ik heb dus in mijn volgende class een probleem:

PHP:
class IrcChannel {
	var $channel;
	var $nicklist;
	
	function addnick ($nick) {
		if (eregi('^[_a-z0-9-]', substr($nick, 0, 1))) {
			$mode = 1;
		}else{
			$mode = substr($nick, 0, 1);
			$nick = substr($nick, 1, strlen($nick)-1);
			switch($mode) {
			case "+": $mode=2; break;
			case "%": $mode=3; break;
			case "@": $mode=4; break;
			case "~": $mode=5; break;
			default: $mode=6; break;
			}
		}
		$this->$nicklist["$nick"]=$mode;
		return 0;
	}
	
	function delnick ($nick) {
		unset ($nicklist["$nick"]);
		return 0;
	}
	
	function getnicks () {
		foreach($this->$nicklist as $nickname => $mode) {
			echo "Found nick $nick with mode $mode\n";
		}		
		return 0;
	}
}

Namelijk, als ik de functie getnicks aanroep krijg ik devolgende warning van PHP:

Invalid argument supplied for foreach() in /home/ryzer/private_shell/dev/ircbot.php on line 178

Ik vind het raar... $this->$nicklist is toch een array? Wel zo staat het op php.net :\

Plz help :help:

Bedankt,
Ryzer

Ryzer

Legacy Member
Antwoord gekregen van WHiSPy via chat.

$this->$nicklist["$nick"]=$mode;

moest worden:

$this->nicklist["$nick"]=$mode;

onderandere :)

icerulez

Legacy Member
PHP:
var $channel;
var $nicklist;

maak daar es van:

PHP:
var $channel;
var $nicklist = array();

Ryzer

Legacy Member
Had ik geprobeerd maar dat hielp niet, het lag aan het $ teken ;)

Maareum, maakt dat veel uit voor de rest of die array() daar staat? PHP herkent datatypes toch automatisch :unsure:
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan