php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-12-2006, 21:37
CrazyPip
 Registrierter Benutzer
Links : Onlinestatus : CrazyPip ist offline
Registriert seit: Mar 2002
Beiträge: 328
CrazyPip ist zur Zeit noch ein unbeschriebenes Blatt
Standard in_array in Javascript

Hi @all,

muss mich ein wenig mit JS beschäftigen und hab eine Frage zu Arrays. Hab hier im Forum und auf SelfHTML > Javascript einiges durchgeschaut und bin noch zu keiner Lösung gekommen.

Ich suche eine Möglichkeit einen Wert in einem einfachen Array zu finden, bzw zu überprüfen ob der Wert enthalten ist.

var Zahlen = new Array(1, 2, 4, 8, 16, 32, 64, 128, 256);

if (in_array(4,Zahlen))

vom prinzip her sowas. Gibts da eine Funktion?

Danke.
cya CrazyPip
Mit Zitat antworten
  #2 (permalink)  
Alt 18-12-2006, 00:40
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

Nein, du musst dir eine Funktion schreiben oder mal hier im Board suchen, da müsste es einen Thread mit einem solchen Codeschnipsel geben.
Mit Zitat antworten
  #3 (permalink)  
Alt 18-12-2006, 01:46
CrazyPip
 Registrierter Benutzer
Links : Onlinestatus : CrazyPip ist offline
Registriert seit: Mar 2002
Beiträge: 328
CrazyPip ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ah ok

denke damit sollte es gehen

danke
cya CrazyPip
Mit Zitat antworten
  #4 (permalink)  
Alt 18-12-2006, 19:52
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

was würdest du denn machen, wenn du die fertige lösung nicht gefunden hätest?

Das sind doch die Grundlagen, die man lerenen muss, bevor man mit Jeson Notation angefangen hat.
PHP-Code:
function in_array(wertchen,arraychen){
for(
i=0;i<arraychen.length;i++){
 if(
arraychen[i]==wertchen) return true;//chen
 
}
 return 
false;//chen
}

if(
in_array(3,new Array(1,2,3,4)))alert("ja");
else 
alert("nein chen"); 
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #5 (permalink)  
Alt 18-12-2006, 22:39
CrazyPip
 Registrierter Benutzer
Links : Onlinestatus : CrazyPip ist offline
Registriert seit: Mar 2002
Beiträge: 328
CrazyPip ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi
ja die grundlagen hab ich schon drauf - ich wollte aber wissen ob es da eine funktion gibt wie in_array.

Da ich eine schnelle lösung suche ist eine funktion, die durch eine Schleife alle Keys durchsucht eigentlich nicht das was ich suche, da in das Array einiges an Werten reinkommt und somit es von mal zu mal länger dauert. Das Skript wird pro sekunde oder pro 2 sekunden - je nachdem was man halt einstellt 1mal ausgeführt wobei jedes mal ein neuer Wert eingetragen wird. Muss die Lösung für mein Problem daher anders erreichen.

Ich hab den Link gepostet, damit andere die das gleiche suchen, eine lösung für ihr problem haben.

gruss CrazyPip
Mit Zitat antworten
  #6 (permalink)  
Alt 19-12-2006, 11:47
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von CrazyPip
hi
Da ich eine schnelle lösung suche ist eine funktion, die durch eine Schleife alle Keys durchsucht eigentlich nicht das was ich suche

jetzt willst du mit noch klar machen, dass die von dir angenommene lösung schneller als meine ist?
jetzt willst du mir noch erzehlen, dass deine funktion nicht alle Keys in einer schleife durchsucht?

einzige unterschied ist, dass deine funktion(sorry seine funktion) noch zusätzlich alle keys von gefundenen werten liefert, wenn das gewünscht ist, dann spricht natürlich nichts gegen dieser function.

nun weis ich aus der erfahrung, dass ich besser so eine function in 2 minuten programmiere, als 1 Stunde die passende funktion im Internet suche.
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #7 (permalink)  
Alt 20-12-2006, 18:46
CrazyPip
 Registrierter Benutzer
Links : Onlinestatus : CrazyPip ist offline
Registriert seit: Mar 2002
Beiträge: 328
CrazyPip ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hm ich kann mir nur schwer vorstellen, dass du weisst, was ich vorhabe, bzw was für ein Skript ich schreiben möchte. Deswegen nehme ich deinen etwas ironischen Beitrag nicht wirklich ernst...

ich erstelle skripte die einen bestimmten zweck erfüllen. Die Methoden (ja! - es gibt verschiedene) wähle ich dabei je nach Vorteil - oder eben Nachteil.

Und wenn ich denke, dass eine Funktion wie deine - oder auch andere die ähnlich funktionieren - ungeeignet sind (für mein Vorhaben), dann suche ich andere Methoden, um das zu erreichen was ich möchte.

Nichts gegen deine Funktion an sich - die ist echt wunderschön.
Mit Zitat antworten
  #8 (permalink)  
Alt 20-12-2006, 21:17
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

ne ernst!
welche möglichkeiten gibt es eigentlich um ein wert im array zu finden?
1)
in einer schleife alles durchlaufen

auch function in_array die in php geschrieben ist macht das selbe nur ein wenig schneller, weil sie nativ gescrieben ist.

2)
wenn alle werte im array sortiert sind
kann man ein anderen suchmechanismus schreiben, der bei grossen sortierten Arrays schneller funktioniert.

Prinzip:
wir springen in die mitte von array und vergleichen der wert mit dem gesuchtem.
wenn der wert kleiner als gesuchter ist, dann springen wir in 3/4 von arraylänge, in anderem fall in 2/4
und so weiter bis der wert gefunden wird

beispiel
PHP-Code:
var test=0;//für testzwecke um die anzahl von versuchen zu zählen.

function in_sortedarray(wert,sarray){
var 
laenge=sarray.length;
var 
start=0;
var 
end=laenge-1;
var 
aktpos;//
while(end-start!=0){
test++; //versuch-zäller
 
aktposMath.floor((start+end)/2);
 if(
sarray[aktpos]==wert)return aktpos;
 if(
sarray[aktpos]>wert){end=aktpos; }
 else{
start=aktpos;}
 if(
end-start==1){
  if(
sarray[end]==wert)return end;
  if(
sarray[start]==wert)return start;
  return 
false;
 }
}
}
var 
=new Array();//sotrirter Array erzeugen
for(i=0;i<=1000;i++){
 
a[i]=i*2;
}
alert(in_sortedarray(780,a));//index von gefundenem wert ausgeben
alert("in "+test+" versuchen erreicht worden");//versuchszäller 
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #9 (permalink)  
Alt 21-12-2006, 12:28
CrazyPip
 Registrierter Benutzer
Links : Onlinestatus : CrazyPip ist offline
Registriert seit: Mar 2002
Beiträge: 328
CrazyPip ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich stimme dir zu, dass es keine andere Möglichkeit gibt einen Wert im Array zu finden. Aber es gibt meiner Meinung nach andere Möglichkeiten um zu überprüfen ob ein Wert enhalten ist oder nicht.

bsp.
PHP-Code:
function start()
{
    var 
cur Math.round((Math.random())*44); // die 44 hier nur als Beispiel. kann auch 547 o.Ä sein
        
        
if (cur <= 0)
        {
            
start();    
        }
        else if (
tmpv[cur] == 1)
        {
            
start();
        }
        else
        {
            
tmpv[cur] = 1;

            
setTimeout('set_content('+cur+');'500); 
        }

Mein Ziel ist es das setTimeout nur zu beginnen, wenn der tmpv[cur] nicht in tmpv enthalten ist. Hier kommt es mir auf den Wert also nicht wirklich an. Hier wird nur überprüft ob ein bestimmter Schlüssel einen Wert hat. Den könnte man sich dann auch ausgeben lassen (wenn er was anderes wie 1 wäre). Wie gesagt, dieses Skript wird bei mir ne nach setTimeout zeitbestimmung kontinuierlich ausgeführt, sodass die Lösung meiner Meinung nach schneller sein müsste.
Ich denke es kommt darauf an, wie ein Skript aufgebaut ist, sodass man Alternativen finden kann. Und bei kleinen Arrays denke ich auch, dass deine Funktion ihren Zweck erfüllt.
Mit Zitat antworten
  #10 (permalink)  
Alt 21-12-2006, 16:23
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

<<Mein Ziel ist es das setTimeout nur zu beginnen, wenn der tmpv[cur] nicht in tmpv enthalten ist.>>

dann brauchst du keine function überhaupt.
das heist

if(!tmpv[cur]){// mach was du willst }
diese Lösung ist aber ziemlich weit von deiner Fragestellung entfehrnt.
Ist aber egal!
hauptsache du kommst weiter.

Schöne Feiertage!!!

__________________
Slava
bituniverse.com
Mit Zitat antworten
  #11 (permalink)  
Alt 21-12-2006, 17:34
CrazyPip
 Registrierter Benutzer
Links : Onlinestatus : CrazyPip ist offline
Registriert seit: Mar 2002
Beiträge: 328
CrazyPip ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hm ja die fragestellung "gibt es eine Funktion ... " am Anfang hat sich aus dem Ansatz ergeben.

du hast weiter darauf rumgehackt

Zitat:
Schöne Feiertage!!!
vielen dank. Wünsch ich dir auch
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

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

phpBasics Counter

Der Counter arbeitet mit einer klassischen einstellbaren IP-Reloadsperre. Er zählt die Besucher, die Seitenaufrufe und ermittelt auch die aktuellen Onlineuser. Zur Datenspeicherung wird eine MySQL-Datenbank genutzt. Der Counter überprüft seine Instal

09.09.2022 numaek | Kategorie: PHP/ Counter
MyPHPlib-Bibliotheksverwaltung

MyPHPlib ist eine Scriptsammlung, mit der die Bibliotheksverwaltung incl. Ausleihe und Recherche gelingt. Die Scriptsammlung wird seit Mitte 2005 entwickelt und ist besonders an den Bedürfnissen von Schulen angepasst.

11.08.2022 RobertG | Kategorie: PHP/ Management
responsive vertikales Menu

Diese Menu basiert auf php, jQuery, css und ajax. Wer sein Menu mit nested sets vertikal realisieren will, findet darin eine gute Lösung.

11.08.2022 COVISIONMEDIA | Kategorie: JAVASCRIPT/ Navigation
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:51 Uhr.