PHP fügt der kommagetrennten Liste einfache Anführungszeichen hinzu

Lesezeit: 2 Minuten

Benutzer-Avatar
Tom Canfarotta

Wenn ich mein Array implodiere, bekomme ich eine Liste, die so aussieht:

qwerty, QTPQ, FRQO

Ich muss einfache Anführungszeichen hinzufügen, damit es so aussieht:

'qwerty', 'QTPQ', 'FRQO'

Kann man das mit PHP machen?

  • Versuchen Sie zunächst, Ihr Array in dieses Format zu implodieren: qwerty', 'QTPQ', 'FRQO dann können Sie die Anführungszeichen am Anfang und am Ende hinzufügen

    – Rizier123

    23. Dezember 2015 um 17:12 Uhr

  • Sie könnten suchen und ersetzen … wobei “,” durch “‘, ‘” ersetzen.

    – durbnpoisn

    23. Dezember 2015 um 17:13 Uhr

  • Siehe: stackoverflow.com/q/6102398/3933332

    – Rizier123

    23. Dezember 2015 um 17:15 Uhr

  • Können wir das mysql-Tag entfernen?

    – Zeichnete

    23. Dezember 2015 um 17:24 Uhr

Verwenden ' vor und nach implodieren()

$temp = array("abc","xyz");

$result = "'" . implode ( "', '", $temp ) . "'";

echo $result; // 'abc', 'xyz'

Hier ist ein anderer Weg:

$arr = ['qwerty', 'QTPQ', 'FRQO'];

$str = implode(', ', array_map(function($val){return sprintf("'%s'", $val);}, $arr));

echo $str; //'qwerty', 'QTPQ', 'FRQO'

sprintf() ist eine saubere Möglichkeit, die einfachen Anführungszeichen um jedes Element im Array zu setzen

array_map() führt dies für jedes Array-Element aus und gibt das aktualisierte Array zurück

implode() wandelt dann das aktualisierte Array mit in einen String um, wobei ein Komma als Kleber verwendet wird

Sie können den Kleber ansetzen ', ' und dann das Ergebnis einpacken '

$res = "'" . implode ( "', '", $array ) . "'";

http://codepad.org/bkTHfkfx

Es kann auch so kurz sein:

sprintf("'%s'", implode("', '", $array))

Ähnlich wie Rizier123 sagte, PHPs implodieren Methode nimmt zwei Argumente; die Zeichenfolge “glue” und das Array “pieces”.

Also,

$str = implode(", ", $arr);

gibt Ihnen die Elemente getrennt durch ein Komma und ein Leerzeichen, also

$str = implode("', '", $arr);

gibt Ihnen die Elemente getrennt durch ', '.

Von dort aus müssen Sie Ihre Liste nur noch mit einfachen Anführungszeichen an beiden Enden verketten.

Benutzer-Avatar
Ashish Pathak

    $ids = array();
    foreach ($file as $newaarr) {
        array_push($ids, $newaarr['Identifiant']);

    }
   $ids =array_unique($ids);
    //$idAll=implode(',',$ids);

     $idAll = "'" . implode ( "', '", $ids ) . "'";

Benutzer-Avatar
Gullu Mutullu

function implode_string($data, $str_starter = "'", $str_ender = "'", $str_seperator = ",") {
    if (isset($data) && $data) {
        if (is_array($data)) {
            foreach ($data as $value) {
                $str[] = $str_starter . addslashes($value) . $str_ender . $str_seperator;
            }
            return (isset($str) && $str) ? implode($str_seperator, $str) :  null;
        }
        return $str_starter . $data . $str_ender;
    }
}

1205630cookie-checkPHP fügt der kommagetrennten Liste einfache Anführungszeichen hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy