Konvertieren von Buchstaben in Zahlen nach Muster

Hallo,

folgendes Problem:

Ich möchte Buchstaben in Zahlen konvertieren, jedoch nicht willkürlich, wie ich das z.B. mir unpack() machen könnte, sondern mit von mit festgelegte Zahlen.

Beispiel:

A = 1
B = 2
C = 3
usw.

a = 31
b = 32
c = 33
usw.

Sonderzeichen sollten ebenso mit einbezogen werden können. Wichtig ist dabei, dass die Zahlen veränderbar bleiben.

Ich finde einfach keinen Lösungsansatz und steh auf dem Schlauch. ich benötige also einen Denkansatz.

Du kannst das ganze in ein Array schreiben und so recht einfach ohne Schleife umwandeln :wink:

 $array['A'] = 1;
 $array['B'] = 2;
 $array['C'] = 3;
 ...
 $array['a'] = 31;
 $array['b'] = 32;
 ...

 $Zahl = $array[$Buchstabe];
?\>

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

$array[‚A‘] = 1;
$array[‚B‘] = 2;
$array[‚C‘] = 3;

$array[‚a‘] = 31;
$array[‚b‘] = 32;

$Zahl = $array[$Buchstabe];
?>

daran dachte ich auch schon. Nur habe ich das Problem das es sich nicht um einzelnen Buchstaben handelt sondern um mehrere. eigentlich um Wörter und Sätze welche umgewandetl werden sollen. Das ganze soll dann auch wieder zurück zu wandeln sein, also in Buchstaben.

Hatte ich eben vergessen.

Naja mit wördern wäre das ja auch noch keine Problem
mit
$array[‚hallo‘] = 12;
$array[‚servus‘] = 24;
funktioniert das noch genau so, aber mit ganzen sätzen wäre ich mir nicht so sicher, ob das hinhaut :confused:

Du kannst aber auch mehrdimensionale Arrays verwenden und die mit einer Schleife durchlaufen!

<?php $array[0]['Wort'] = "Hallo";<br /> $array[0]['Zahl'] = 12;

 $array[1]['Wort'] = "Servus";
 $array[1]['Zahl'] = 24;
 ...

 foreach($array as $array2)
 {
 if($Wort == $array2['Wort'])
 { $Zahl = $array2['Zahl']; }
 }
?\>

und das ganz umgekehrt auch

foreach($array as $array2)
 {
 if($Zahl == $array2['Zahl'])
 { $Wort = $array2['Wort']; }
 }

So sollten auch ganze Sätze kein Problem sein :wink:

daran dachte ich auch schon. Nur habe ich das Problem das es
sich nicht um einzelnen Buchstaben handelt sondern um mehrere.
eigentlich um Wörter und Sätze welche umgewandetl werden
sollen. Das ganze soll dann auch wieder zurück zu wandeln
sein, also in Buchstaben.

Hatte ich eben vergessen.

Hallo.
Mir scheint eher, dass er ganze Sätze kodieren will, die Verschlüsselung soll aber Buchstabenweise erfolgen.

Damit die Entschlüsselung funktioniert, muss es dann aber ein Trennzeichen zwischen den Buchstaben geben oder alle Buchstabencodes müssen gleich lang sein.

Beispiel mit 2-Zeichen pro Buchstaben:

Test = 25355755

(T = 25;e = 35;s = 57;t = 55:wink:

$code = array(’ '->‚00‘,‚a‘->‚01‘,‚b‘->‚02‘,‚c‘->‚03‘);
//Dieses Array muss fortgesetzt werden, die Zahlen sind als String deklariert, damit die führenden Nullen erhalten bleiben.

$recode = array_flip($code);
//Das Array für die Rückwandelung

$text1 = „Dies ist der umzuwandelnde Satz“;
$text2 = strtr($text1,$code); //48594823739394 oder so…
$text3 = strtr($text1,$recode); //Dies ist der umzuwandelnde Satz

Ach ja: Damit die Rückkodierung mit strtr funktioniert, sollten alle Zahlen mit einem bestimmten Zeichen, z.B. ‚#‘ beginnen, sonst wird vieleicht ‚0101‘ nicht zu ‚aa‘, sondern zu ‚0k1‘. Muss allerdings nicht sein.

CU

Um es genau zu erklären:

Ich habe irgendwelche mir unbekannte Wörter und Sätze. Diese zerlege ich in einzelne Buchstaben. diese Buchstaben will ich in Zahlen wandeln und zwar, in von mir vorgegebene Zahlen.

Das Ganze (alle gewandelten zahlen) werden dann wieder in EINE Variable zusammen gefasst und in einer DB abgespeichert. Später möchte ich dieser Zahlen wieder aus der DB herausholen, wieder in einzelene Ziffern zerlegen und wieder in die entsprechenden Buchstaben umwandeln. Diese, dann wieder zu Wörtern und Sätzen zusammen fassen.

Was mein Problem ist, ist eben die einzelnen Buchstaben, von denen es vollkommen egal ist zu welchem Satz oder Wort sie gehören, in die Zahlen zu wandeln und dann eben wieder zurück.

So ich hoffe ich habe jetzt alles bedacht was ich haben wollte, hab das alles nicht so ganz verständlich erklärt, sorry.