Bearbeiten von „PHP“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 5: Zeile 5:
* [[PhpDebugger]]
* [[PhpDebugger]]
* [[WinNMP]]
* [[WinNMP]]
* [[PHP-Beispiele]]
* [https://www.php.net/manual/en/function.strrpos.php PHP-Funktionsreferenz]


== Besonderheiten ==
== Besonderheiten ==
Zeile 24: Zeile 22:
* ab 5.4: $a = [1, 2]; $b = ["a" => 1, "b" => 55];
* ab 5.4: $a = [1, 2]; $b = ["a" => 1, "b" => 55];
* Test: array_key_exists($array, $key) oder isset($arr[$key])
* Test: array_key_exists($array, $key) oder isset($arr[$key])
* $ix = array_search(2, $a);
* $key = array_search(55);
* array_push($array, $value) hängt an...
* array_push($array, $value) hängt an...
* count($arr) zählt Elemente (flach) oder rekursiv: count($arr, COUNT_RECURSIVE)
* count($arr) zählt Elemente (flach) oder rekursiv: count($arr, COUNT_RECURSIVE)
* Test: is_array()
* Test: is_array()
* Löschen: unset($array['index']);


=== Strings ===
=== Strings ===
Zeile 61: Zeile 56:


$date2 = new DateTime("2012-07-08 11:14:15.638276");  
$date2 = new DateTime("2012-07-08 11:14:15.638276");  
assert($date2 < $date);
$timestamp2 = time();
$timestamp = 1170288000; //  a timestamp
$date4 = new DateTime("@$timestamp");


$date3 = new \DateTime();
$date3 = new \DateTime();
$date3->setDate($year, $month, $day);
$date3->setDate($year, $month, $day);
$date3->setTime($hour, $minute, $second);
$date3->setTime($hour, $minute, $second);
$unixTimestamp = $date->getTimestamp();


$string = $date->format('d.m.Y H:i.s');
$string = $date->format('d.m.Y H:i.s');
$stringFromTimestampYesterday = \date('d.m.Y', \time() - 86400);


$diff = $date2 - $date1;
$diff = $date2 - $date1;
$date->add($diff);
$date->add($diff);


$date->add(new DateInterval('PT86400S')); // 86400 sec
$date->add(new DateInterval('P10D')); // 10 Tage
$firstSecondOfMonth = mktime(0, 0, 0, date("n"), 1); // Unix Timestamp
$lastMinuteOfMonth = mktime(23, 59, 59, date("n"), date("t")); // Unix Timestamp
$dayOfWeek = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"][\DateTime()->format('w');
</pre>
=== Lambda-Ausdrücke ===
<pre>$input = array(1, 2, 3, 4, 5);
$output = array_filter($input, function ($v) { return $v > 2; });
</pre>
</pre>


Zeile 147: Zeile 122:
</pre>
</pre>


== Exceptions ==
<syntaxhighlight lang="php">
try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Exception abgefangen: ',  $e->getMessage(), "\n";
} finally {
    echo "Erstes finally.\n";
}
</syntaxhighlight>
== Metaprogrammierung ==
== Metaprogrammierung ==
* string gettype($mixed), is_integer(), is_object(), is_bool(), is_array() isset() ...
* string gettype($mixed), is_integer(), is_object(), is_bool(), is_array() isset() ...
* gettype() returns "string", "integer", "NULL", ...
* if ($var instanceof ExampleClass) {}
* if ($var instanceof ExampleClass) {}
* if (method_exists ( $this , 'do_it' ){ call_user_func(array($this, 'do_it')); }


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
Zeile 186: Zeile 148:
= Wichtige Funktionen =
= Wichtige Funktionen =
* $mixed print_r($var, $doReturnString = false) gibt menschenlesbare Form der Variablen aus oder liefert diese als String
* $mixed print_r($var, $doReturnString = false) gibt menschenlesbare Form der Variablen aus oder liefert diese als String
<pre>
$stack = debug_backtrace();
$fp = fopen("/tmp/wp.trace", "a");
fwrite($fp, "---------\n" . $location . "\n");
  foreach ($entry as $stack){
    $args = "";
    foreach ($entry["args"] as $arg){
      $args .= " " . strval($arg);
    }
    $line = $entry["function"] . " " . $entry["file"] . ":" . $entry["line"] . " " . $args . "\n";
    fwrite($fp, $line);
  }
fclose($fp);
</pre>


= Reguläre Ausdrücke =
= Reguläre Ausdrücke =

Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)