Einzelnen Beitrag anzeigen
  #1  
Alt 08.11.2016, 13:51:58
lueni lueni ist offline
Anfänger
 
Registriert seit: Nov 2016
Alter: 35
Beiträge: 4
Überprüfung von Zahlenkombinationen bzw. eines Strings

Hi Zusammen!

Ausgangspunkt für mein Problem ist ein Formular, bei dem man aus 5 Kategorien jeweils Unterpunkte auswählen kann. Davon abhängig was gewählt wurde generiere ich eine Grafik.

Bei der Grafik, die ich im Moment bearbeite, benötige ich die Anzahl der gewählten Unterpunkte in Bezug auf die jeweilige Kategorie, wobei nur eine davon gewählt werden kann, ebenso wie fünf. Die Grafik selbst ist schon fertig, ich benötige nur noch einen "Adapter", der die Daten aus dem Formular, auf die Variablen in der Grafik anpasst.

PHP-Code:
if (!empty($sozcount)) {
    
$anzahlflag[0] = $sozcount;
}  else 
$anzahlflag[0] = 0;
            
if (!empty(
$kerncount)) {
    
$anzahlflag[1] = $kerncount;
} else 
$anzahlflag[1] = 0;
    
if (!empty(
$fachcount)) {
    
$anzahlflag[2] = $fachcount;
} else 
$anzahlflag[2] = 0;
        
....


$anzahlstring implode ($anzahlflag); 
Die jeweilige Anzahl der benötigten Felder habe schon ($sozcount, $kerncount usw. ). Ich kann diese den Variablen der Grafik allerdings nicht 1:1 zuordnen, das würde nur funktionieren wenn es immer alle fünf wären.
Daher schreibe ich die einzelnen Werte als ein Flag, das ich dann in einen String umwandle.

Nun zu meinem eigentlichen Problem:
In einer Funktion möchte ich den String überprüfen, um die entsprechenden Variablen zurückzugeben und die dann mit list($variablen) den Variablen meiner Grafik zuordnen.
Die Anzahl der möglichen Kombinationen ist allerdings viel zu groß um alles händisch einzugeben (10000, 20000, .. 01000, 02000, .. bis 44444)

PHP-Code:
function xy {[INDENT]switch ($string) {
    
//1 gefülltes Feld
    
case '10000':
    return array(
$pre_s11$pre_s12$pre_s13$pre_s14);
    break;
    case 
'01000':
    return array(
$pre_k11$pre_k12$pre_k13$pre_k14);
    break;
    case 
'00100':
    return array(
$pre_fa11$pre_fa12$pre_fa13$pre_fa14);
    break;
...    
[/
INDENT]} 
Ich übergebe den String an die Funktion, und dort soll dann geprüft werden welche Variablen ich benötige.

Kann mir jemand weiter helfen, wie ich diese Überprüfung umsetze, ohne jeden String separat eingeben zu müssen?

Herzlichen Dank im Vorraus!
lueni
Mit Zitat antworten