Wert zurücksetzen

hallo…

wie kann ich folgender ausdruck wieder auf NULL (garnichts, nada) setzen??
$gefunden = array_search($suche,$texttaggeb);

ich habs mit

  • $gefunden = NULL;
  • $gefunden = „“;
  • und unset($gefunden);

keine dieser methoden hat mir geholfen…

gruß,
sebastian

Ähm, wie meinst du das? Wie überprüfst du, ob es tatsächlich weg ist? Und wie stellst du dir dieses „weg“ vor? Mit unset() entfernst du den Variablenpointer …

Ähm, wie meinst du das? Wie überprüfst du, ob es tatsächlich
weg ist? Und wie stellst du dir dieses „weg“ vor? Mit unset()
entfernst du den Variablenpointer …

Ich überprüfe mittels einer if-Abfrage if (isset($gefunden)). da dieser wert $gefunden beim ersten array_search immer gesetzt ist, gilt für die nächsten if (isset($gefunden) immer das letzte $gefunden, er wird nicht gereseted, odr dergleichen.

for…
$gefunden = …
if (isset($gefunden))

jetzt $gefunden auf 0, NULL, „“, kA setzen…

lg,
sebastian

Hi Sebastian,

versuche es mal mit $gefunden = 0; oder mit $gefunden = false;
Sollte beides funktionieren.

Gruss
Stefan

wie kann ich folgender ausdruck wieder auf NULL (garnichts,
nada) setzen??
$gefunden = array_search($suche,$texttaggeb);

Hallo Stefan.

versuche es mal mit $gefunden = 0; oder mit $gefunden = false;
Sollte beides funktionieren.

k…das funktioniert mal, es steht garnichts drinnen…aber er springt mir immer noch da rein

if(isset($gefunden))
{

}

lg,
sebastian

Dann sollte $gefunden = NULL; oder unset($gefunden) helfen. (siehe auch http://de3.php.net/isset )

Desweiteren kannst Du auch deine Abfrage umstellen

if ( $gefunden ) {

} else {
echo ‚fehler‘;
}

Gruss
Stefan

hallo stefan.

Dann sollte $gefunden = NULL; oder unset($gefunden) helfen.
(siehe auch http://de3.php.net/isset )

Desweiteren kannst Du auch deine Abfrage umstellen

if ( $gefunden ) {

} else {
echo ‚fehler‘;
}

danke dir… mit if ($gefunden) hats geklappt…

gruss,
sebastian

Hallo Stefan.

Dann sollte $gefunden = NULL; oder unset($gefunden) helfen.
(siehe auch http://de3.php.net/isset )

Desweiteren kannst Du auch deine Abfrage umstellen

if ( $gefunden ) {

} else {
echo ‚fehler‘;
}

Ich hab noch ein weiteres problem. der erste wert also wenn das array_search den wert 0 zurückgibt, was ja möglich ist (array_search -> liefert den key) wird der if teil nicht ausgeführt.

habs auch mit dem unset funktioniert, aber da passiert dann garnichts mehr…

lg,
sebastian

Hi!

Ich hab noch ein weiteres problem. der erste wert also wenn
das array_search den wert 0 zurückgibt, was ja möglich ist
(array_search -> liefert den key) wird der if teil nicht
ausgeführt.

habs auch mit dem unset funktioniert, aber da passiert dann
garnichts mehr…

lg,
sebastian

Ich habe zwar nicht verstanden, wann und warum du $gefunden auf NULL setzen willst, aber ich kann dir eine Lösung anbieten.

array_search setzt $gefunden eigentlich nur auf zwei Zustände - entweder auf „false“ (Suchbegriff wurde im Array nicht gefunden) oder auf den Key-Wert (Wert von 0 bis trallala …)

Um „false“ von „0“ zu unterscheiden, ist eine Typ-Prüfung der Variablen $gefunden notwendig

$gefunden = array\_search($suche, $texttaggeb);

if (is\_numeric($gefunden) )
{
 // Suchbegriff gefunden
}
else
{
 // Suchbegriff nicht gefunden bzw. Variable ist anderer Datentyp
}

Und zur Unterscheidung von „unset“ und NULL:

„unset“ setzt eine Variable nicht auf einen Wert „nada, nix, leer“ oder ähnliches, sondern gibt den Arbeitsspeicher frei, auf den die Variable zeigt. Das ist was anderes als NULL - hier wird der Speicherplatz, der für die Variable reserviert ist, auf Hex-0 gesetzt. Der Speicherplatz (bzw. die Speicheradresse) bleibt also erhalten!

Grüße
Heinrich

Hallo Heinrich.

Ich habe zwar nicht verstanden, wann und warum du $gefunden
auf NULL setzen willst, aber ich kann dir eine Lösung
anbieten.
array_search setzt $gefunden eigentlich nur auf zwei Zustände

  • entweder auf „false“ (Suchbegriff wurde im Array nicht
    gefunden) oder auf den Key-Wert (Wert von 0 bis trallala …)

Um „false“ von „0“ zu unterscheiden, ist eine Typ-Prüfung der
Variablen $gefunden notwendig

$gefunden = array_search($suche, $texttaggeb);

if (is_numeric($gefunden) )
{
// Suchbegriff gefunden
}
else
{
// Suchbegriff nicht gefunden bzw. Variable ist anderer
Datentyp
}

Und zur Unterscheidung von „unset“ und NULL:

„unset“ setzt eine Variable nicht auf einen Wert „nada, nix,
leer“ oder ähnliches, sondern gibt den Arbeitsspeicher frei,
auf den die Variable zeigt. Das ist was anderes als NULL -
hier wird der Speicherplatz, der für die Variable reserviert
ist, auf Hex-0 gesetzt. Der Speicherplatz (bzw. die
Speicheradresse) bleibt also erhalten!

Vorab danke für die ausführliche und aufschlussreiche antwort.

also hab ich sowieso immer das falsche gemacht…das mit dem:

if (is\_numeric($gefunden))

wars, jetzt zeigt er mir auch den Datensatz $gefunden = 0 an…

danke dir und allen die mir den weg zum ziel gezeigt haben.

Grüsse,
Sebastian