Aktueller Standort: Startseite> Neueste Artikel> Wie konvertieren Sie ein Checkbox -Formular in eine Binärnummer für die Speicherung mit Binec ()?

Wie konvertieren Sie ein Checkbox -Formular in eine Binärnummer für die Speicherung mit Binec ()?

M66 2025-06-11

Bei der Arbeit mit Formularen mit mehreren Kontrollkästchen -Optionen besteht eine häufige Herausforderung darin, die Auswahl der Benutzer effizient zu speichern. Der traditionelle Weg besteht darin, Arrays oder von Kommas getrennte Zeichenfolgen zu verwenden, aber diese Methoden sind bei Abfragen und Speichern oft nicht effizient genug. In diesem Artikel wird erläutert, wie die Funktion von PHP (Binec ()) verwendet wird, um das Auswahlergebnis eines Kontrollkästchens in eine Binärnummer für die Speicherung umzuwandeln, wodurch das Datenmanagement vereinfacht wird.

Beispiele für Nutzungsszenarien

Angenommen, Sie haben ein Formular, mit dem Benutzer die Inhaltskategorie auswählen können, an denen sie interessiert sind, zum Beispiel:

  • Technologie (Wert ist 1)

  • Sport (Wert ist 2)

  • Musik (Wert ist 3)

  • Spiel (Wert ist 4)

  • Film (Wert ist 5)

Der HTML -Formularcode lautet wie folgt:

 <form method="post" action="https://m66.net/submit.php">
  <input type="checkbox" name="interests[]" value="0"> Wissenschaft und Technologie<br>
  <input type="checkbox" name="interests[]" value="1"> Sportunterricht<br>
  <input type="checkbox" name="interests[]" value="2"> Musik<br>
  <input type="checkbox" name="interests[]" value="3"> Spiel<br>
  <input type="checkbox" name="interests[]" value="4"> Film<br>
  <input type="submit" value="einreichen">
</form>

Der Wert jedes Kontrollkästchens hier entspricht seiner Position im binären Bit.

Backend -Verarbeitungslogik

Nachdem das Formular eingereicht wurde, ist es unser Ziel, das vom Benutzer ausgewählte Kontrollkästchen in eine Dezimalbezahlung umzuwandeln und in der Datenbank zu speichern. Der Vorteil davon ist, dass es schnell abfragt und Speicherplatz spart.

Wenn der Benutzer beispielsweise "Technologie" und "Musik" überprüft, dh die 0. und 2. Bits überprüft, beträgt die erhaltene binäre Zeichenfolge 10100 (schaut von hoch zum niedrigen Bit) und konvertiert in Dezimalzahl in 20 .

Beispiel für PHP -Code:

 <?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $interests = isset($_POST['interests']) ? $_POST['interests'] : [];
    
    // Initialisieren Sie ein binäres Bitarray
    $bits = array_fill(0, 5, '0');

    foreach ($interests as $index) {
        if (is_numeric($index) && $index >= 0 && $index < 5) {
            $bits[(int)$index] = '1';
        }
    }

    // Das Bit -Array umkehren(Hoch vor),und in binäre Schnur konvertieren
    $binary_string = implode('', array_reverse($bits));

    // verwenden bindec() In Dezimalbeschwerden konvertieren
    $interest_value = bindec($binary_string);

    // Ausgabeergebnisse oder speichern in der Datenbank
    echo "Binärer String: $binary_string<br>";
    echo "Dezimal gespeicherte Werte: $interest_value<br>";

    // Die in der Datenbank gespeicherte Logik kann von selbst erweitert werden
}
?>

Speicher und Lesen

In der Datenbank müssen Sie nur ein Integer-Typ-Feld erstellen, z. B. int (11), um diesen Wert zu speichern. Wenn Sie Benutzerinteressen lesen müssen, müssen Sie nur die Funktion von PHP von PHP () verwenden, um sie in eine binäre Zeichenfolge umzuwandeln und die vom Benutzer ausgewählten Elemente über die Zeichenfolge zu analysieren.

 <?php
$stored_value = 20; // Beispielwerte
$binary = str_pad(decbin($stored_value), 5, '0', STR_PAD_LEFT);
$binary_array = array_reverse(str_split($binary));

foreach ($binary_array as $index => $bit) {
    if ($bit === '1') {
        echo "Der Benutzer wählte die Nummer als aus $index Optionen<br>";
    }
}
?>

Zusammenfassen

Mit BindEc () und DeDBIN () können wir die Auswahlergebnisse mehrerer Kontrollkästchen effizient in eine Ganzzahl für die Speicherung komprimieren. Diese Methode verringert nicht nur die Komplexität der Datenbank, sondern beschleunigt auch die Abfrage, was besonders für Anwendungsszenarien geeignet ist, für die häufige Lektüre und Filterung der Benutzerpräferenzen erforderlich sind. Wenn Sie sich Sorgen machen, wie die Kontrollkästchen -Auswahlen verwaltet werden, versuchen Sie es mit dieser Methode.