• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Funktionen neuerer php-Versionen auch in älteren nutzen

T

the_sacrificer

Gast
Funktionen neuerer php-Versionen auch in älteren nutzen

Hallo zusammen,

Frage siehe Betreff, also konkret:
Wenn ich keinen Einfluss auf die php-Version des genutzten Servers habe, dennoch eine vorgefertigte Funktion (in meinem Fall filter_var() ) einer neueren php-Version nutzen möchte, kann ich dann die betreffende Funktion, sofern ich sie schriftlich vorliegen hätte, in meine Datei einfügen?
Was zu meiner nächsten Frage führt: woher bekomme ich den code dieser Funktion? Bei oberflächlicher Suchmaschinenbedienung werde ich immer nur auf die Funktionsbeschreibung, nicht aber auf den code selber verwiesen.

Mfg
the_sacrificer
 
AW: Funktionen neuerer php-Versionen auch in älteren nutzen

Also wenn die Funktion php5 voraussetzt, dann wirst du es wohl auch brauchen. Aber jeder Webserver sollte eigentlich php5 haben, wenn du dafür bezahlst.
Wie du das mit dem "Einfügen" meinst, verstehe ich nicht. Klar kannst du die Funktion in den Code einfügen, aber er wird dir dann einen Fehler ausgeben auf deiner Seite, weil er die Funktion nicht kennt.

Was du genau meinst mit "woher kriege ich den Code", weiß ich auch nicht.

Hier ist die Funktionsbeschreibung:
http://fr.php.net/filter_var

Und hier ist eine List der möglichen Filter:
http://us3.php.net/manual/hu/ref.filter.php
 
AW: Funktionen neuerer php-Versionen auch in älteren nutzen

Mothman am 16.02.2009 14:15 schrieb:
Also wenn die Funktion php5 voraussetzt, dann wirst du es wohl auch brauchen. Aber jeder Webserver sollte eigentlich php5 haben, wenn du dafür bezahlst.
Wie du das mit dem "Einfügen" meinst, verstehe ich nicht. Klar kannst du die Funktion in den Code einfügen, aber er wird dir dann einen Fehler ausgeben auf deiner Seite, weil er die Funktion nicht kennt.

Was du genau meinst mit "woher kriege ich den Code", weiß ich auch nicht.

Hier ist die Funktionsbeschreibung:
http://fr.php.net/filter_var

Und hier ist eine List der möglichen Filter:
http://us3.php.net/manual/hu/ref.filter.php

naja, ich zahle in gewisserweise schon für das Rechenzentrum meiner Universität, aber die werden wegen einer Anfrage nicht heute nacht ein update laufen lassen.

Einfügen: jemand muss doch die Funktion geschrieben haben, ein browser wird sich ja nicht die Funktion der Funktion ( :B ) aus den Fingern saugen. Somit muss der code irgendwie verfügbar sein, und da php open source ist, sollte man auch drauf zugreifen können - deshal meine Frage: woher nehmen?

Die links waren mir bekannt.
 
AW: Funktionen neuerer php-Versionen auch in älteren nutzen

Wenn auf dem Webserver php5 installiert ist, dann sollte auch die Funktion verfügbar sein.
Also einfach im Code benutzen. :)
Wenn auf dem Server eben kein php5 installiert ist, dann wird er dir bei Verwendung der entsprechenden Funktion eben einen Fehler ausgeben.
 
MySQL WHERE mit 2 Bedingungen?

das hab ich nicht so gemeint, bin aber mittlerweile auf ne regex Lösung ausgewichen.


Andere Frage:

kann man bei der WHERE Abfrage auch 2 Bedingungen stellen, im Sinne von
WHERE `nachname` = blub AND `vorname` = bla
???
 
AW: MySQL WHERE mit 2 Bedingungen?

the_sacrificer am 17.02.2009 10:26 schrieb:
kann man bei der WHERE Abfrage auch 2 Bedingungen stellen, im Sinne von
WHERE `nachname` = blub AND `vorname` = bla
???
http://www.sql-und-xml.de/sql-tutorial/where-auswahl-von-daten-zeilen.html
 
AW: MySQL WHERE mit 2 Bedingungen?

skicu am 17.02.2009 10:41 schrieb:
http://www.sql-und-xml.de/sql-tutorial/where-auswahl-von-daten-zeilen.html
nice, das ging aber flott.

also hatte ich es richtig, bis auf dass es beim UPDATE nach SET kommen muss. Komischwerweise bekomm ich auch einen syntax Fehler, wenn ich den Befehl über zwei Programmzeilen laufen lass:

$sql = "UPDATE ...
SET ... WHERE ...";

Weiß jemand woran das liegen kann?
 
Indizees eines Arrays gleich den Values

obiges Problem war wohl nur rumgezicke vom System.


NEUES PROBLEM:
Code:
$a = array(2,5,9,14);
ergibt
[0] => 2
[1] => 5
[2] => 9
[3] => 14

Ich möchte jetzt aber, dass der Index gleich dem Value ist, also

[2] => 2
[5] => 5
[9] => 9
[14] => 14

aber für einen array mit einer variablen Anzahl von Einträgen.

Mit der Funktion
Code:
array_fill_keys($a, 'blub');
kann ich zwar die Indizees hinbiegen, bekomme aber für die values jeweils ein blub.
Code:
array_fill_keys($a, $a);
trägt mir natürlich für jeden Wert ein neues array ein.


Ich komm einfach nicht drauf. Hat jemand ne einfache Methode?

Gruß
Slartibartfast
 
AW: Indizees eines Arrays gleich den Values

Ich weiß ja nicht, ob du schon eine Lösung gefunden hast. Ich habe die Frage leider etwas spät gesehen.

Die einfachste Lösung wäre die Felder direkt zuzuordnen, also so:
$array1 = array(2=>2, 5=>5, 9=>9, 14=>14);
Dann würde $array1[2] die 2 enthalten und so weiter.

Ich weiß ja nicht, wie du die Werte ermittelst, aber wenn dir die Lösung nicht zusagt, gibt es sicher auch noch eine andere.

EDIT:
Ich hab dir mal dafür eine Funktion geschrieben:
Das ist die Funktion:
function add_item($item,$array1){

$array1[$item] = $item;

return $array1;

}
Und so benutzt du sie dann. Der erste Paramter ist der neue Feldname und Wert (soll ja derselbe sein) und der zweite Paramter ist das Array, welches erweitert werden soll.
$new_array1 = add_item(14,$array1);

Zum Test kannst du dir das neu Array dann so ausgeben lassen:
print_r($new_array1);

Wenn die Werte aus einer Datenbank kommen, kannst du die Funktion natürlich auch in einer Schleife verwenden...


?>
 
AW: Indizees eines Arrays gleich den Values

Code:
$b = array_combine($a,$a);
print_r($b);

Code:
Array
(
    [2] => 2
    [5] => 5
    [9] => 9
    [14] => 14
)
 
AW: Indizees eines Arrays gleich den Values

Ach es hat doch jemand geantwortet ;)

Hab auch inzwischen eine eigene Lösung, aber trotzdem vielen Dank!


Code:
$neues_array = array();
foreach ($altes_array as $key => $val)
{
 $neues_array[$val] = $val;
}
 
AW: Indizees eines Arrays gleich den Values

@marky68: array_combine geht imo auch erst am PHP5 und wäre somit auch keine Option für den Threadsteller.
 
AW: Indizees eines Arrays gleich den Values

Mothman am 06.03.2009 18:44 schrieb:
@marky68: array_combine geht imo auch erst am PHP5 und wäre somit auch keine Option für den Threadsteller.
Er hat doch nirgends geschrieben das es sich um php4 handelt. Auch innerhalb der 5er-Version gibt es Versionsunterschiede. Mit 5.3 kommt sogar ein lambda hinzu. Das wird man aber wohl nicht nachbauen können ;)
 
AW: Indizees eines Arrays gleich den Values

klausbyte am 07.03.2009 19:03 schrieb:
Mothman am 06.03.2009 18:44 schrieb:
@marky68: array_combine geht imo auch erst am PHP5 und wäre somit auch keine Option für den Threadsteller.
Er hat doch nirgends geschrieben das es sich um php4 handelt. Auch innerhalb der 5er-Version gibt es Versionsunterschiede. Mit 5.3 kommt sogar ein lambda hinzu. Das wird man aber wohl nicht nachbauen können ;)
Ja, da hast du wohl recht. Aber zumeist ist es so, dass Server php4 installiert haben und die Leute sich wundern, warum die php5-Funktionen nicht gehen. Das ist einfach ein Erfahrungswert, dass das häufiger das Problem ist, als man denkt.
Ich wette mit dir, im vorliegenden Fall, geht es auch nicht um die Unterschiede zwischen Version 5.1.6 und 5.2.9, sondern zwischen Version 4 und 5.
 
the_sacrificers code-Probleme: Heute: JavaScript

Und nun zu einer neuen Ausgabe von

the_sacrificers code-Probleme: Heute: JavaScript

Ich möchte mit inputs in eine textarea reinschreiben, im Prinzip das Gleiche wie man in gängigen Foren bei der Threaderstellung sehen/benutzen kann.

Dabei tritt folgendes Problem auf:

das erzwungene Leerzeichen

Jeder kennt es, der schonmal mit html zu tun hatte: & n b s p ;

Wenn man es allerdings in onclick verwendet, bekommt man in die textarea direkt das Leerzeichen und nicht den 'code'. Übrigens funktioniert das mit allen named entities sowie unicode.

Der Fehlversuch:
Code:
onclick=\\"this.form.content.value+=' & n b s p ;'\\"


Die Leerzeichen zwischen den Buchstaben aus bekanntem Interpretationsproblem :B


Bis bald!
the_sacrificer


edit: ich habe es mit einem erfundenen named entity und einem str_replace gelöst, bin aber noch an anderen Lösungen interessiert.

offtopic: ich bin auf den Tag 7 Jahre und 11 Monate in diesem Forum registriert :B

Das Problem weitet sich nun auch auf php aus!
Besagte erzwungene Leerzeichen werden mit fgets() ebenfalls direkt geparst. Kann ich das verbieten?
 
Zurück