364 Stimmen

Konvertierung eines flachen Arrays in eine durch Trennzeichen getrennte Zeichenkette, die in der Datenbank gespeichert werden soll

Was ist die beste Methode, um ein PHP-Array in einen String zu konvertieren?
Ich habe die Variable $type die ein Array von Typen ist.

$type = $_POST[type];

Ich möchte sie als eine einzige Zeichenkette in meiner Datenbank speichern, wobei jeder Eintrag durch | :

Sports|Festivals|Other

5voto

Daud Malik Punkte 61

Es gibt viele Möglichkeiten,

Die zwei besten Möglichkeiten hierfür sind

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
//ouputs as
{"a":1,"b":2,"c":3,"d":4,"e":5}

$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results now contains output from print_r

2voto

Serhii Popov Punkte 2460

Eine andere Möglichkeit, PHP var_export() mit kurzer Array-Syntax (eckige Klammern), 4 Leerzeichen eingerückt:

function varExport($expression, $return = true) {
    $export = var_export($expression, true);
    $export = preg_replace("/^([ ]*)(.*)/m", '$1$1$2', $export);
    $array = preg_split("/\r\n|\n|\r/", $export);
    $array = preg_replace(["/\s*array\s\($/", "/\)(,)?$/", "/\s=>\s$/"], [null, ']$1', ' => ['], $array);
    $export = join(PHP_EOL, array_filter(["["] + $array));

    if ((bool) $return) return $export; else echo $export;
}

Aufgenommen これ .

1voto

Arvy Punkte 922

Wenn Sie ein Array (wie $_POST) haben und Schlüssel und Werte behalten müssen:

function array_to_string($array) {
   foreach ($array as $a=>$b) $c[]=$a.'='.$b;
   return implode(', ',$c);
}

Ergebnis wie: "name=Paul, Alter=23, Stadt=Chicago"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X