Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

php schubser

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
FuchsT
PostRank 5
PostRank 5
Beiträge: 247
Registriert: 21.02.2005, 15:33
Wohnort: bei Wien

Beitrag von FuchsT » 10.01.2006, 15:32

hallo,

ich brauche einen kleinen schubs in die richtige richtung.
ich hab eine array mit werten gefüllt:

1 rot
2 gelb
3 grün
4 blau

wie kann ich herausfinden an welcher stelle "grün" steht.

(so eine art grep unter unix)

danke
thomas
Wirtschaftslexikon Online - Wirtschaftsbegriffe einfach und verständlich erklärt!
Linktauschpartner (auch für andere Bereiche) gesucht.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


JR-EWING
PostRank 9
PostRank 9
Beiträge: 1098
Registriert: 19.02.2004, 10:16
Wohnort: Untermeitingen

Beitrag von JR-EWING » 10.01.2006, 16:27

da musst du wohl mit ner Schleife drüber und jedes Element vergleichen bzw vielleicht hilft dir das weiter

https://de3.php.net/manual/de/function.array-keys.php


mit eregi kannst du herrausfinden ob es überhaupt drin ist.

Babelfisch
PostRank 5
PostRank 5
Beiträge: 204
Registriert: 05.10.2005, 14:15
Wohnort: Leipzig

Beitrag von Babelfisch » 10.01.2006, 16:40

Eigentlich kann man auf den Namen der gesuchten Funktion sogar ohne die Doku kommen:

array_search()

Ich geb dir als kräftigen Schubser mal noch die Doku zu den Array-Funktionen mit. :wink:

FuchsT
PostRank 5
PostRank 5
Beiträge: 247
Registriert: 21.02.2005, 15:33
Wohnort: bei Wien

Beitrag von FuchsT » 10.01.2006, 17:43

danke, mt array_search hab ichs schon probiert, dann noch mit preg_match_all, preg_grep, preg_match und vieles andere.
deshalb der schupser. danke.
Wirtschaftslexikon Online - Wirtschaftsbegriffe einfach und verständlich erklärt!
Linktauschpartner (auch für andere Bereiche) gesucht.

Babelfisch
PostRank 5
PostRank 5
Beiträge: 204
Registriert: 05.10.2005, 14:15
Wohnort: Leipzig

Beitrag von Babelfisch » 10.01.2006, 18:02

FuchsT hat geschrieben:mt array_search hab ichs schon probiert, dann noch mit preg_match_all, preg_grep, preg_match und vieles andere.
Und? Klingt jetzt fast so, als ob das nicht funktioniert hat.

FuchsT
PostRank 5
PostRank 5
Beiträge: 247
Registriert: 21.02.2005, 15:33
Wohnort: bei Wien

Beitrag von FuchsT » 11.01.2006, 08:27

ich hab das problem mit array_search nun gefunden.
im array steht zB.
1 gelbblau
2 rotgrüm

ich suche "nur" nach grün. wenn ich nach rotgrün suche, dann gehts. es reicht also nicht, wenn der gesuchte begriff nur enthalten ist. leider.
gibts da ev. eine andere funktion, oder einen schalter für array_search.

danke
thomas
Wirtschaftslexikon Online - Wirtschaftsbegriffe einfach und verständlich erklärt!
Linktauschpartner (auch für andere Bereiche) gesucht.

BLochmann
PostRank 3
PostRank 3
Beiträge: 96
Registriert: 10.07.2005, 22:35

Beitrag von BLochmann » 11.01.2006, 14:28

suchst du sowas? hab den letzten comment nicht ganz verstanden, einfach mal vermutet :D

$array=array("blau","grün","rot");
$suche="n";

foreach ($array as $key=>$value)
{
if (substr_count($value,$suche)<>0)
$erg=$key;
}

echo "array[$erg] enthält $suche";

marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 11.01.2006, 14:45

möchtest du auch einen Treffer bei rotgrün wenn nur nach grün gesucht wird?

JR-EWING
PostRank 9
PostRank 9
Beiträge: 1098
Registriert: 19.02.2004, 10:16
Wohnort: Untermeitingen

Beitrag von JR-EWING » 11.01.2006, 14:50

Will jetzt keinen neuen Topic aufmachen aber witzig ist:
Ich wollte eigentlich FuchsT helfen und hatte nicht gedacht dass ich am nächsten Tag vor einem ähnlichen Problem steh.
Gibt es irgendeine Funktion um leere Arrayelemente aus dem Array zu löschen ? Ist ja fast das gleiche :-)

Gruß JR

Babelfisch
PostRank 5
PostRank 5
Beiträge: 204
Registriert: 05.10.2005, 14:15
Wohnort: Leipzig

Beitrag von Babelfisch » 11.01.2006, 14:51

Du kannst dir dafür doch einfach eine eigen Funktion schreiben. So könnte das bspw. aussehen:

Code: Alles auswählen

function search_array&#40;$needle, $haystack&#41; &#123;
	
	for &#40;$i=0; $i < count&#40;$haystack&#41;; $i++&#41; &#123;

		if &#40;strpos&#40;$haystack&#91;$i&#93;, $needle&#41; !== FALSE&#41; return $i;
  	
  &#125;
	
	return FALSE;

&#125;

	$farben = array&#40;'Farbe rot', 'Farbe gelb', 'Farbe grün', 'Farbe blau'&#41;;
	
	if &#40;&#40;$pos = search_array&#40;'grün', $farben&#41;&#41; !== FALSE&#41; &#123;
	
		print&#40;'grün an Position ' . $pos&#41;;
	
	&#125; else &#123;
	
		print&#40;'grün nicht gefunden'&#41;;

	&#125;
Ist jetzt natürlich nur ganz einfach gehalten, sollte aber erst mal funktionieren.

FuchsT
PostRank 5
PostRank 5
Beiträge: 247
Registriert: 21.02.2005, 15:33
Wohnort: bei Wien

Beitrag von FuchsT » 11.01.2006, 15:04

danke mal an alle.
leider kann ichs jetzt nicht testen. ich werd am montag berichten obs funktioniert.

grüße
thomas
Wirtschaftslexikon Online - Wirtschaftsbegriffe einfach und verständlich erklärt!
Linktauschpartner (auch für andere Bereiche) gesucht.

FuchsT
PostRank 5
PostRank 5
Beiträge: 247
Registriert: 21.02.2005, 15:33
Wohnort: bei Wien

Beitrag von FuchsT » 11.01.2006, 20:14

habs doch noch testen müssen. :lol:
die funktion? von Babelfisch ist genau das was ich suche. danke. :D
hab zwar noch nicht ganz durchschaut was diese funktion genau tut, aber das hat bis montag zeit.

grüße
thomas
Wirtschaftslexikon Online - Wirtschaftsbegriffe einfach und verständlich erklärt!
Linktauschpartner (auch für andere Bereiche) gesucht.

Babelfisch
PostRank 5
PostRank 5
Beiträge: 204
Registriert: 05.10.2005, 14:15
Wohnort: Leipzig

Beitrag von Babelfisch » 11.01.2006, 23:01

JR-EWING hat geschrieben:Gibt es irgendeine Funktion um leere Arrayelemente aus dem Array zu löschen ?
Eine passenden Funktion gibt es AFAIK nicht aber auch das ist nicht schwer selbst zu realisieren:

Code: Alles auswählen

function clean_array&#40;$haystack&#41; &#123;
	
	foreach&#40;$haystack as $key => $value&#41; &#123;

		if &#40;empty&#40;$value&#41;&#41; unset&#40;$haystack&#91;$key&#93;&#41;;
  	
  &#125;

	return $haystack;

&#125;

$farben = array&#40;'Farbe rot', 'Farbe gelb', '', 'Farbe grün', '', 'Farbe blau'&#41;;

print_r&#40;clean_array&#40;$farben&#41;&#41;;
Macht 5 Euro :wink:

marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 12.01.2006, 08:59

hab zwar noch nicht ganz durchschaut was diese funktion genau tut, aber das hat bis montag zeit.
Sie löscht alles was im rootverzeichnis liegt. :lol:

Antworten