Hauptmenü

Werkzeuge

Kategorien

Archiv

Mit PHP einen CSV String in einen Array parsen

Erstellt in Allgemein am 4. Mai 2025 vom Daschmi

Mit folgender PHP Klasse/Funktion kann ein CSV String in einen Array geparsed werden. In Zeile 1 wird der Kopf erwartet, der dann als Schlüssel für die Daten fungiert.

abstract class csvHelper {

  public static function csvToArray(string $csvString): array {
      
    $lines = explode("\n", $csvString);
    
    $arKeys = array_map('trim', str_getcsv(array_shift($lines)));
    $arResult = [];

    foreach ($lines as $line) {
      
      if (trim($line) !== "") {
        
        $arValues = array_map('trim', str_getcsv($line));
        $arResult[] = array_combine($arKeys, $arValues);
      
      }
    
    }

    return $arResult;
  
  }

}

Oder besser mit der Bibliothek league/csv

abstract class csvHelper {

  public static function csvToArray(string $csvString): array {

    $reader = League\Csv\Reader::createFromString($csvString);
    $reader->setHeaderOffset(0);

    return [
	  iterator_to_array($reader->getRecords())
    ];

  }

}

Einen Array von Objekten mit Javascript nach Schlüssel auf-/absteigend sortieren

Erstellt in Allgemein am 12. März 2025 vom Daschmi

Mit folgender Funktion kann man mit Javascript einen Array der aus mehreren Objekten besteht auf- oder absteigend nach einem Schlüssel sortieren:

export function order_array(arr, key, direction = 'asc') {
	
	const ar = [...arr];

	ar.sort((a, b) => {
		
		const wertA = a[key];
		const wertB = b[key];
	
		if (wertA < wertB) return direction === 'asc' ? -1 : 1;
		if (wertA > wertB) return direction === 'asc' ? 1 : -1;
		
		return 0;
		
	});
	
	return ar;
	
}

autocomplete / autofill im Chrome/PWA verhindern

Erstellt in Allgemein am 9. Februar 2025 vom Daschmi

Setzt man das Attribute „autocomplete“ auf einem Input Feld auf den Wert „one-time-code“ kommt es nicht mehr zum automatischen füllen durch Chrome.

<input type="text" name="email" id="email" autocomplete="one-time-code" />

Base64 Bild mit FPDF zeichnen

Erstellt in Allgemein am 6. Februar 2025 vom Daschmi

Um ein Bild, das als base64 String vorliegt mit FPDF zu zeichnen kann folgende Funktion verwendet werden.

function addBase64Image($base64Image, $x, $y, $w = 0, $h = 0) {
			
	list($type, $data) = explode(';', $base64Image);
	list(, $data) = explode(',', $data);
	$data = base64_decode($data);

	$tempFile = tempnam(sys_get_temp_dir(), 'fpdf') . '.png';
	file_put_contents($tempFile, $data);

	$this->Image($tempFile, $x, $y, $w, $h);

	unlink($tempFile);
	
}