Zurück   IP-Symcon Community Forum > IP-Symcon 1.0 > Archiv > Anleitungen / Nützliche PHP Scripte

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 12.06.08, 15:06
Benutzerbild von Tonic1024
Freak
 
Registriert seit: Sep 2005
Ort: Cuxhaven
Beiträge: 5,020
Standard [Chatlog] Arbeiten mit Arrays.

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

Ist leider etwas länger...

HTML-Code:
[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
__________________
www.Tonis-Welt.com
01001000 01100101 01101100 01101100 01101111
01110111 01101111 01110010 01101100 01100100
Mit Logik kommen wir hier nicht weiter...

_________________________________
Geändert von Tonic1024 (Morgen um 14:76 Uhr)

Geändert von Tonic1024 (12.06.08 um 15:09 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 12.06.08, 15:22
Benutzerbild von RWN
RWN RWN ist gerade online
Super Moderator
 
Registriert seit: Jan 2007
Ort: Nidda(Hessen)
Beiträge: 5,964
Standard Ein kleines Lehrbuch

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

http://www.teialehrbuch.de/Kostenlos...rundlagen.html
__________________
Gruß Rainer


Unmögliches wird sofort erledigt, Wunder dauern etwas länger.

Mit Zitat antworten
  #3 (permalink)  
Alt 12.06.08, 21:15
Benutzerbild von Ferengi-Master
Großer Nagus
 
Registriert seit: Feb 2007
Ort: Zwickau
Beiträge: 3,960
Standard

Auch gerne für den PHP Anfang genommen:
http://reeg.junetz.de/DSP/node12.html
__________________
MfG Thomas

Hardware im Einsatz: Eaton Xcomfort | Enocean | FS20 | 1-Wire | ALL2282+Axis WebCam | AVM Fritz! Repeater | WMRS200 Wetterstation | IPS-Funksystem-868 | Visu auf: 10"Touchscreen | Apple iPod Touch 2G | Apple iPod Touch 4G | Apple IPhone 4s | Software: IPS V2.5 | IPS Server mit Windows 7 Prof 32bit und Mediaportal 1.2.1 | diverse IPS Clients mit Dashboard | WebFront | iFront

*** Citius, altius, fortius ***
Mit Zitat antworten
  #4 (permalink)  
Alt 17.07.08, 22:37
Benutzerbild von System-Fan
Kein IPS Kunde
 
Registriert seit: Oct 2007
Beiträge: 312
Standard

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

Gruß System-Fan.
Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Aktueller Zeiger eines arrays Ferengi-Master Allgemeine Diskussion 7 19.08.07 18:07
Bug ? Nach arbeiten mit Designer ... obicom Dashboard 2 31.01.07 00:35
[gefixt] Scripte arbeiten nicht bei englischem Windows --> Update 0.41 chrisu IP-Symcon WIIPS für Version 1.0 9 17.10.05 16:18


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0