[Chatlog] Arbeiten mit Arrays.

Im Chat gabs was, dass vielleicht für alle (Anfänger) interessant ist.

Ist leider etwas länger…

[11:26]	<web-hmpf99>	ich muss das echt mal mit dem array blicken
[11:26]	<Toni-C>	ist doch simpel...
[11:26]	<Toni-C>	ist wie viele variablen hintereinander, aber in einer Einzigen
[11:26]	<Toni-C>	Und damit man den überblick nicht verliert sind sie durchnummeriert
[11:27]	<web-hmpf99>	hm
[11:27]	<Toni-C>	wer sich keine zahlen merken kann, kann auch namen vergeben
[11:27]	<web-hmpf99>	ich hab jetzt 14 variablen für die news
[11:27]	<Toni-C>	die könnten auch in $news[0], $news[1], $news[2], etc stehen
[11:28]	<web-hmpf99>	und die bleiben da auch wenn das script durch ist ?
[11:28]	<Toni-C>	nene...
[11:28]	<Toni-C>	IPS unterstützt keine arrays
[11:28]	<Toni-C>	da musste dir ne Krücke bauen
[11:28]	<web-hmpf99>	ich muss ja immer wenn eine neue news kommt die alten news eins weiterschieben
[11:29]	<Toni-C>	in IPS kannste dein Array serialisieren
[11:29]	<Toni-C>	oder auf deutsch: hintereinander weg schreiben
[11:29]	<Toni-C>	Gänsemarsch *g*
[11:30]	<Toni-C>	dafür gibts fertige funktionen in php
[11:30]	<Toni-C>	explode und implode
[11:30]	<web-hmpf99>	ogottogottogott
[11:30]	<Toni-C>	ist nicht schlimm
[11:31]	<Toni-C>	$array = array('lastname', 'email', 'phone');
			$comma_separated = implode(",", $array);
			echo $comma_separated; // "lastname,email,phone"
[11:31]	<web-hmpf99>	1. zeile ist array anlegen ?
[11:31]	<Toni-C>	^^ jo
[11:31]	<Toni-C>	Das "," ist dabei das Trennzeichen was er verwenden soll
[11:31]	<web-hmpf99>	schreibt als comma seperated dann alles in eine var?
[11:32]	<Toni-C>	Genau. Und statt dem echo nimmste SetValueString
[11:32]	<Toni-C>	für news wäre ein Komma als Trennzeichen allerdings schlecht
[11:32]	<Toni-C>	ich nehm da oft das "Pipe"
[11:32]	<Toni-C>	dies Teil -> |
[11:33]	<web-hmpf99>	ich hab immer 2 werte : news und newslink
[11:34]	<web-hmpf99>	$array = array('news', 'newslink');
[11:34]	<web-hmpf99>	da steht die überschrift der news dinr
[11:34]	<web-hmpf99>	drin
[11:34]	<Toni-C>	'news' wäre ein String
[11:34]	<Toni-C>	du meinst sicher:
[11:35]	<Toni-C>	$array = array($news, $newslink);
[11:35]	<web-hmpf99>	klar
[11:36]	<web-hmpf99>	$comma_separated = implode("|", $array);
[11:36]	<web-hmpf99>	SetValueString("comma_separated");
[11:37]	<Toni-C>	schaut doch gut aus...
[11:39]	<web-hmpf99>	SetValueString("comma_seperated", $comma_separated);
[11:39]	<web-hmpf99>	so eher oder ?
[11:39]	<Toni-C>	äh, klar^^
[11:39]	<Toni-C>	hab nur aufs implode geachtet...
[11:39]	<web-hmpf99>	setvalue und getvalue kann ich inzwischen
[11:40]	<web-hmpf99>	aber mal blöd gefragt: da schreibe ich ja jetzt noch nix ins array oder ?
[11:40]	<web-hmpf99>	ich muss doch anlegen - reinschreiben - implode machen ?
[11:41]	<web-Tonic1024>	0x1e263a
[11:41]	<web-Tonic1024>	0x1e263b
[11:41]	<web-Tonic1024>	0x1e2593
[11:41]	<Toni-C>	geht wohl nicht :(
[11:41]	<web-hmpf99>	was ?
[11:42]	<Toni-C>	sonderzeichen
[11:42]	<Toni-C>	0x1e2593 kommt immer statt dem Zeichen
[11:42]	<Toni-C>	bei dir nicht?
[11:42]	<web-hmpf99>	ich hab komische zeichen hier
[11:42]	<Toni-C>	ein smilie dabei?
[11:43]	<web-hmpf99>	einer weiss und einer schwarz
[11:43]	<Toni-C>	coool
[11:48]	<Toni-C>	Oh...
[11:48]	<Toni-C>	Ja...
[11:48]	<Toni-C>	anlegen und reinschreiben sind ein Schritt auf diese Weise
[11:49]	<Toni-C>	reinschreiben kannste mit $array[0]='Blöd';
[11:49]	<Toni-C>	und lesen genauso^^
[11:49]	<Toni-C>	echo $array[0]
[11:50]	<web-hmpf99>	sind array[0] dann nicht 2 werte ?
[11:52]	<Toni-C>	Array[0] ist ein string
[11:53]	<Toni-C>	wenn du in einen string schreibst sind auch nicht zwei werte drin
[11:53]	<Toni-C>	$string='Muh';
			$string='Mäh';
			echo $string;
[11:53]	<Toni-C>	^^ was wird ausgegeben?
[11:53]	<web-hmpf99>	Mäh
[11:54]	<Toni-C>	Richtig. das gleiche ist beim Array.
[11:54]	<Toni-C>	viele variablen in einer - durchnummeriert
[11:54]	<Toni-C>	das ist das ganze Geheimnis
[11:56]	<web-hmpf99>	$news = "news1";
			$news = "news2";
			$newslink = "newslink2";
			$array = array($news, $newslink);
			echo $array[0];
[11:55]	<Toni-C>	^^ ergibt "news2"
[11:56]	<web-hmpf99>	wie schreibe / lese ich dann $newslink?	
[11:56]	<Toni-C>	rate mal... ;)
[11:56]	<Toni-C>	echo $array[1];
[11:56]	<web-hmpf99>	array[0,1]
[11:56]	<Toni-C>	nee... einfach nur durchnummeriert
[11:57]	<web-hmpf99>	ok
[11:57]	<web-hmpf99>	was macht denn dann diese Zeile
[11:57]	<web-hmpf99>	$array = array($news, $newslink);
[11:57]	<web-hmpf99>	genau?
[11:57]	<Toni-C>	du hast zuerst $news reingepackt und dann $newslink
[11:57]	<web-hmpf99>	ah
[11:57]	<Toni-C>	es schreibt $news als erstes und dann $newslink in ein array
[11:58]	<Toni-C>	weil sie durchnummeriert werden bekommt der wert in $news den "nullten" Platz im array
[11:58]	<ColdIce>	mahlzeit
[11:58]	<Toni-C>	der nächste Eintrag bekommt dann die 1
[11:58]	<web-hmpf99>	also:
[11:58]	<web-hmpf99>	$array = array($news1, $news2, $news3, $news4, $news5, $news6, $news7);
[11:58]	<Toni-C>	^^ mahlzeit
[11:58]	<web-hmpf99>	mahlzeit !
[11:58]	<Toni-C>	das wäre die einfache lösung
[11:58]	<Toni-C>	ja
[11:58]	<web-hmpf99>	einfach = gut
[11:59]	<Toni-C>	es geht aber noch komplizierter *gg*
[11:59]	<web-hmpf99>	später LOL
[11:59]	<Toni-C>	du könntest ein array aus news und newslink machen
[11:59]	<web-hmpf99>	ach ja. das brauch ich ja auch noch
[11:59]	<Toni-C>	das nennst du dann $newsinfos1
[11:59]	<Toni-C>	und dann machst du ein array aus vielen arrays
[12:00]	<Toni-C>	$alleInfos = array($newsinfos1, $newsinfos2, $newsinfos3);
[12:00]	<Toni-C>	aber da wird das speichern in IPS auch etwas komplizierter
[12:01]	<Toni-C>	du hast ja 4 arrays insgesammt dann
[12:01]	<web-hmpf99>	au weia
[12:01]	<web-hmpf99>	ich glaube ich mach das erstmal so:
[12:01]	<web-hmpf99>	$array = array($news1, $newslink1, $news2, $newslink2, $news3, $newslink3);
[12:01]	<Toni-C>	okay... das ginge auch
[12:01]	<Toni-C>	0 sind news und 1 der link. 2 wieder news und 3 der link
[12:01]	<web-hmpf99>	genau
[12:01]	<web-hmpf99>	und dann im implode in die ips-var schreiben?
[12:02]	<Toni-C>	ja, das geht dann wie gehabt.
[12:02]	<web-hmpf99>	das blicke ich noch
[12:02]	<web-hmpf99>	also mit implode in die ips-var schreiben
[12:02]	<web-hmpf99>	und mit explode aus der ips-var lesen
[12:02]	<Toni-C>	jo
[12:02]	<Toni-C>	ich hab mir dafür ne funktion gemacht
[12:03]	<Toni-C>	function SetValueArray($Variable, $Array)
			{
				$str=implode('|', $Array);
				SetValueString($Variable, $str);
			}

			function GetValueArray($Variable)
			{
				$str=getValueString($Variable);
				return explode('|', $str);
			}
[12:04]	<web-hmpf99>	cool
[12:04]	<Toni-C>	die beiden funktionen stehen in eine datei functions.php
[12:04]	<Toni-C>	zusammen mit vielen anderen...
[12:05]	<Toni-C>	und in jedem Script steht oben als erstes: include("functions.php");
[12:05]	<Toni-C>	dann kannst du deine kleinen Helfer in jedem script benutzen
[12:05]	<Toni-C>	^^ wo der include befehl drin ist - klar
[12:05]	<web-hmpf99>	gute idee
[12:06]	<Toni-C>	darum nörgel ich ja bei paresy wegen auto include
[12:06]	<web-hmpf99>	gibts es das nich ?
[12:06]	<Toni-C>	wenn du die include zeile vergisst nörgelt nämlich IPS rum weil er die Funktionen 
			nicht kennt
[12:06]	<Toni-C>	nein, gibts nicht.
[12:06]	<Toni-C>	musste von hand machen
[12:06]	<Toni-C>	aber mit chance in der 2.0
[12:06]	<web-hmpf99>	auto include sucht dann einfach selbst ?
[12:07]	<Toni-C>	kann ich dir nicht sagen, gibts ja noch nicht *LOL*
[12:07]	<web-hmpf99>	achso LOL
[12:07]	<Toni-C>	muss sich paresy Gedanken drüber machen...
[12:07]	<Toni-C>	aber die Idee ist, dass du es eben nicht mer immer von Hand machen musst
[12:07]	<Toni-C>	^^meh
[12:07]	<Toni-C>	mehr^^
[12:07]	<Toni-C>	Mennsch... Knoten inne Finger *lach*
[12:10]	<web-hmpf99>	also das mit dem array klappt :)
[12:10]	<web-hmpf99>	wie muss ich die funktion dann aufrufen ?
[12:10]	<Toni-C>	genau wie setValueInteger
[12:11]	<Toni-C>	SetValueArray('DeineIPSVariableVomTypString', $deinArray);
[12:11]	<web-hmpf99>	SetValueArray("Designer_News", $array);
[12:11]	<Toni-C>	^^
[12:11]	<web-hmpf99>	das ist ja der hammer!
[12:11]	<Toni-C>	iss doch nur ein Zweizeiler *RotWerd*
[12:11]	<web-hmpf99>	in der ips-var steht jetzt:
[12:12]	<web-hmpf99>	news1|newslink1
[12:12]	<web-hmpf99>	goil
[12:12]	<Toni-C>	Willkommen bei den Fortgeschrittenen *lach*
[12:12]	<web-hmpf99>	echt gut erklärt. danke !
[12:13]	<Toni-C>	no prob...
[12:13]	* Toni-C geht schnell was essen
[12:13]	<web-hmpf99>	guten hunger
[12:14]	<Toni-C>	thnx...
[12:14]	* web-hmpf99 kann jetzt arrays basteln...
[12:14]	<Toni-C>	kannst das logfile ins Forum posten, dann haben alle was davon...
[12:14]	<Toni-C>	ach... Webclient.
[12:15]	<Toni-C>	kannste nicht... soll ich? Isis hat das bestimmt mitgeschrieben ;)
[12:15]	<web-hmpf99>	klar. mach das !

Gruß,

Toni

Hier mal ein Link. Hat mir auch schon in manchen Fällen geholfen.

http://www.teialehrbuch.de/Kostenlose-Kurse/PHP/9206-Grundlagen.html

Auch gerne für den PHP Anfang genommen:
Einführung PHP

Wer ganz neu mit PHP ist kann die Grundlagen auch hier sehr gut lernen: http://www.schattenbaum.net/php/

Gruß System-Fan.