Der Martin: Dokument durchsuchen. Boolsche Werte. Undefined Index.

Beitrag lesen

Hallo,

Ich suche also praktisch sowas:
istvorhanden($string, $inText)

also praktisch sowas.

Als Rückgabewert wäre natürlich True/False perfekt.

Im negativen Fall bekommst du dein false schon; im Erfolgsfall aber sogar die Position des gesuchten Ausdrucks im String.

Wenn ich einer privaten Variable $_var den Wert false gebe und danach abfrage:
if($this->_var==false) echo "HURRA!";
Er machts nicht..

Wer ist "er"?
Wenn Programmcode nicht das tut, was er Programmierer will, liegt's entweder an falscher Logik, oder an unerwarteten Inhalten von Variablen.
Ich kann weder das eine noch das andere beurteilen, weil du mit notwendigen Informationen hinterm Berg hältst.

Aber wenn du selbst weiterforschen willst, solltest du den Inhalt deiner Variablen mal untersuchen. Ein var_dump($this) oder auch var_dump($this->_var) sollte dir Aufschluss darüber geben, ob du hier ein Problem hast.

Dass dein error_reporting auf E_ALL steht, setze ich natürlich voraus.

$var1 =($_POST['form1']=="true") ? $_POST['form2'] : '';

$var2 =$_POST['form3'.((intval($nr) || $nr==0) ? $nr : '')];
$var3 =$_POST['form4'.((intval($nr) || $nr==0) ? $nr : '')];


>   
> Ich bekomme halt:  
> Undefing Index von: form 1, form 3, form 4 (form2 komischerweise nicht)  
  
Und was enthält $\_POST wirklich? - form2 wird deshalb nicht beanstandet, weil es nicht ausgewertet wird.  
  

> Was kann ich dagegen tun?  
  
Debugging!  
  
Übrigens ist es unbeholfen und manchmal sogar hinderlich, eine boolsche Variable noch explizit auf true oder false zu vergleichen. Ein einfaches  
  
 if (var)  
  
oder  
  
 if (!var)  
  
ist übersichtlicher zu lesen. PHP hat ein paar Hinterhalte, wo man tatsächlich explizit auf false testen muss - dann aber nicht nur auf Gleichheit, sondern auf Identität (== oder != vs. === oder !==).  
  
So long,  
 Martin  

-- 
"Mutti, hier steht, das Theater sucht Statisten. Was sind Statisten?" - "Das sind Leute, die nur rumstehen und nichts zu sagen haben." - "So wie Papa?"