hi, da sind sie wieder, die probleme:
ich vergleiche 2 arrays (eines mit Strings(kategorien) und eines mit integers(id)) miteinander
und gebe anhand eines übergebenen wertes z.B $KAT ="26" den entsprechenden wert aus.
... nur leider funkt das nicht immer, in diesem beispiel gibt er mir "BelletristikComputer" aus
und nicht "Popkultur" wie es eigentlich sein sollte.
26 wir scheinbar als 2 und 6 interpretiert, also nicht als integer.
wie kann man diesen effekt verhindern, finde keine möglichkeit im moment,
int() und settype usw. können ja nicht angewendet werden.
hoffe da gibts 'nen einfachen weg, ich sehe ihn leider nicht...
gruss, crisdoe
ich vergleiche 2 arrays (eines mit Strings(kategorien) und eines mit integers(id)) miteinander
und gebe anhand eines übergebenen wertes z.B $KAT ="26" den entsprechenden wert aus.
... nur leider funkt das nicht immer, in diesem beispiel gibt er mir "BelletristikComputer" aus
und nicht "Popkultur" wie es eigentlich sein sollte.
26 wir scheinbar als 2 und 6 interpretiert, also nicht als integer.
wie kann man diesen effekt verhindern, finde keine möglichkeit im moment,
int() und settype usw. können ja nicht angewendet werden.
PHP-Code:
<?php
$KAT = "26";
$kat_db = array("Anthologien","Belletristik","Biographie","Buchkunst","Comics","Computer","Design","eBook","Ernährung",
"Esoterik","Fachbücher","Foto-/Bildbände","Hochschule","Hörbücher","Literatur","Journalismus","Kalender","Karten","Kataloge",
"Kinder-/Jugendbuch","Krimi","Kultur","Lexika","Musik",
"Politik","Popkultur","Psychologie","Recht","Reisen","Religion","Sachbücher","SciFi","Wissenschaften","Zeitschriften");
$kat_id = array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34');
// ersetzen
if (in_array($KAT,$kat_id)) {
$kategorie_ID = str_replace($kat_db,$kat_id,$KAT); // ID
$kategorie = str_replace($kat_id,$kat_db,$KAT); // Kategorie
}
echo $kategorie;
?>
gruss, crisdoe
Kommentar