php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-02-2005, 02:40
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard Bestimmte Werte aus einem Array lesen

Hallo,

Ich habe ein Array mit dem Inhalt "a,b,c,d,e,f,g".
Diese Werte variieren aber nun, sprich es müssen nicht immer alle Werte im Array vorhanden sein. Wie kriege ich es nun hin, in dem Array nach bestimmten Werten zu suchen, diese in einer Variable zu speichern, um sie anschliessend in die db einzutragen?

mit "in_array" kann ich suchen, aber mehr hab ich bisher nicht gefunden..

Geht hauptsächlich darum, das die Werte eben variieren, und ich vorher prüfen muss welcher Wert wo ist, damit zb nicht der Wert "e" in der db in die Spalte "e" eingetragen wird.
Hoffe es ist verständlich..

Gruss
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 11-02-2005, 05:27
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hm.. ich hab da einen weg gefunden, aber mal eine Frage,

$id = array ($id);


Wieso geht des nich? Die Variable id wird per Formular übergeben etc, ich kann sie mitels echo auch ausgeben, aber sobald ich den Inhalt davon ins Array packen möchte, krieg ich Probleme und er macht nichts..

Geändert von Philbil (11-02-2005 um 05:34 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 11-02-2005, 05:45
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Salut

was möchtest du denn machen ? Nur ein Element an ein bestehendes Array anhängen (falls nicht schon drinnen) ?
PHP-Code:
$id = array ($id); 
Funzt sehr wohl. Mach mal folgendes:
PHP-Code:
if(is_array($id)){
echo 
'Hat gefunzt';
}
else{
echo 
'Funzt leider ned';

Das sollte dir TRUE zurückgeben. Denn array() erstellt ein neues Array. Und wenn dein $id plötzlich vom Typ array ist dann hat deine Anweisung sehr wohl funktioniert. Versuch mal dies:
PHP-Code:
$temp = array();
array_push($temp$id); 
Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #4 (permalink)  
Alt 11-02-2005, 06:03
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Warte mal, ich hab grad gesehen, ich hab ein anderes Problem..

Die Variable id hat zb folgenden Inhalt:
Mama, Papa, Opa, Oma

Da ich mir nicht sicher war, hab ich mal folgendes gemacht:


$id2 = array (test);
array_push($id2,"$id");

Ich hab also ein array initialisiert, und dieses um den wert "$id" erweitert. In "$id" steht ja nun:
Mama, Papa, Opa, Oma

Habe das dann mal per echo $id2[0] bzw [1] ausgeben lassen, und festgestellt, das er mir bei "0" "test" ausspuckt, bei "1" "Mama, Papa, Opa, Oma".
Ich hatte es eigt so gedacht, dass die Namen jeweils als einzelne Werte im array erkannt werden, was sie jedoch nicht tun.
Was kann ich da tun?
Mit Zitat antworten
  #5 (permalink)  
Alt 11-02-2005, 06:09
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Salut
Zitat:
Was kann ich da tun?
Nicht alle Werte in eine Var sondern für jeden Wert eine eigene Var

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #6 (permalink)  
Alt 11-02-2005, 06:14
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das werden aber auf Dauer 43 Werte..
Da die User alle Werte in ein input Feld geben, muss ich sie also mittels explode in einzeil Werte teilen, oder gibts da noch ne andere Möglichkeit..?
Mit Zitat antworten
  #7 (permalink)  
Alt 11-02-2005, 06:19
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Da die User alle Werte in ein input Feld geben, muss ich sie also mittels explode in einzeil Werte teilen, oder gibts da noch ne andere Möglichkeit..?
z.B. für jeden Wert ein Feld

oder sonst wie von dir geschrieben mittels explode() und einem Trenner. Dies gibt dir dann ein array zurück mit einem Wert pro Index.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #8 (permalink)  
Alt 11-02-2005, 06:22
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Für jeden Wert ein feld.. daran dachte ich auch schon.. allerdings kommt mir da die Faulheit der User wieder in die Quere.. auf Dauer werden die nicht bereit sein, 43 Werte einzeln einzutragen. Also werd ichs per explode schnipseln...
Mit Zitat antworten
  #9 (permalink)  
Alt 11-02-2005, 06:35
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Also werd ichs per explode schnipseln...
Dann musst du aber sicher sein können, dass immer der gleiche Trenner verwendet wird. Ein User gibt die Werte mit ',' getrennt an, der andere nimmt ' ' und noch ein anderer verwendet '-'.
Dann ist nichts mehr mit explode()...
Für was brauchst du von einem User auch 43 Werte

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #10 (permalink)  
Alt 11-02-2005, 08:48
ess0r
 Newbie
Links : Onlinestatus : ess0r ist offline
Registriert seit: Jan 2005
Ort: SH-Stukenbrock (Bielefeld)
Beiträge: 46
ess0r ist zur Zeit noch ein unbeschriebenes Blatt
Standard

echt... sag mal die URL, wo dies läuft, damit man das mal nachvollziehen kann.

Greez. Ess0r
__________________
nooby ist besser als gar nicht angangen ;D
Mit Zitat antworten
  #11 (permalink)  
Alt 11-02-2005, 23:42
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mach ich gleich/später.

Vorher eine Frage. Wenn ich mittels explode was splitten möchte, das vorher aber noch per ereg_replace "formatieren" möchte, wie stell ich es an Leerzeichen zu entfernen? Da gibts einen bestimmten char für oder so, hab mich schon totgesucht, finde aber nichts..
Mit Zitat antworten
  #12 (permalink)  
Alt 12-02-2005, 12:36
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Damit müsste es gehen

http://www.selfphp.info/funktionsref...tr_replace.php
Mit Zitat antworten
  #13 (permalink)  
Alt 12-02-2005, 16:16
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Jop geht.
Aber eine Frage bleibt mir dennoch.
Es werden soweit alle Leerzeichen entfernt, bis auf ein paar, warum weiss ich nicht.


..:: Namen ::..
7 Müller
..:: Wohnort ::..
3 Berlin
..:: Land ::..
5 Italien



So sieht die eingabe aus, die die User in das input Feld tätigen.
Nun möchte ich erstmal eine Suche anstellen, also mit ereg_replace() alles rausformatieren, Zahlen Leerzeilen etc, bis letzendlich nur noch da steht: MüllerBerlinItalien.
Nun, da es feste Werte sind, die untereinander also der Position nur variieren, habe ich noch mit ereg_replace jedes Wort mit "Wort|" also einen Platzhalter setzt. Anhand diesen Platzhalters splitte ich es nun mit explode, um anschliessend jeden Wert einzeln in ein Array zu übergeben, in welchem ich überprüfen möchte, an welcher Stelle welcher Wert sitzt.

Nun, nachdem ich es soweit formatiert habe, und davon ausgehe das eben nur noch Müller|Berlin|Italien| vorhanden ist, wollte ich es splitten. Mir ist aber aufgefallen, das trotzdem eine Leerzeile vorhanden bleibt. Vor jedem Namen, also so: " Land| Berlin| Italien|"
Nun, so wird es auch ins Array übertragen, wenn ich dann nach "Berlin" suche, ist klar das kein Wert gefunden wird, darum versuchte ich mit chop() etc die leerzeilen wegzukriegen, bekomme ich aber nicht und ich weiß nicht warum.. eigt sollte
PHP-Code:
$Inhalt str_replace(' '''$Inhalt); 
ja alle Leerzeilen entfernen. Anscheinend aber ja nicht, oder doch? Wenn ja, wo kommen dann die Leerzeilen vor den Namen immer her?
Ich hab die ganze Nacht dran gesessen, finde den Fehler aber einfach nicht.
Mit Zitat antworten
  #14 (permalink)  
Alt 12-02-2005, 16:35
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

zeig mal mehr code
Mit Zitat antworten
  #15 (permalink)  
Alt 12-02-2005, 16:57
Philbil
 Registrierter Benutzer
Links : Onlinestatus : Philbil ist offline
Registriert seit: Dec 2004
Beiträge: 169
Philbil ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
//Variable übergeben
$Inhalt $HTTP_POST_VARS["Inhalt"];


//Schiffsnamen inkl Zeichen entfernen
$Inhalt str_replace(' '''$Inhalt);
$Inhalt ereg_replace("..::Namen::..","",$Inhalt);
$Inhalt ereg_replace("..::Land::..","",$Inhalt);
$Inhalt ereg_replace("..::Wohnort::..","",$Inhalt);
$Inhalt ereg_replace("..::Alter::..","",$Inhalt);


//Zahlen rauslöschen
$Inhalt ereg_replace("0","",$Inhalt);
$Inhalt ereg_replace("1","",$Inhalt);
$Inhalt ereg_replace("2","",$Inhalt);
$Inhalt ereg_replace("3","",$Inhalt);
$Inhalt ereg_replace("4","",$Inhalt);
$Inhalt ereg_replace("5","",$Inhalt);
$Inhalt ereg_replace("6","",$Inhalt);
$Inhalt ereg_replace("7","",$Inhalt);
$Inhalt ereg_replace("8","",$Inhalt);
$Inhalt ereg_replace("9","",$Inhalt);


//Einfügen der Trennzeichen für späteres Explode
$Inhalt ereg_replace("Müller","Müller|",$Inhalt);
$Inhalt ereg_replace("Berlin","Berlin|",$Inhalt);
$Inhalt ereg_replace("Italien","Italien|",$Inhalt);


//explode durchführen
$explode explode("|",$Inhalt); 


$test $explode[0];
$test2 $explode[1];


//Array initialisieren
$array = array("$test""$test2");

/Array 
suche starten
$such_id 
Berlin;
$key=array_search($such_id,$array);

//Ausgabe
echo $key

Ist der komplette Code bisher..
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:09 Uhr.