PHP:
Å jobbe med komplekse tall
Hvordan:
PHP tilbyr innebygd støtte for komplekse tall ved hjelp av ext-intl
-utvidelsen med NumberFormatter
-klassen. Her er et eksempel:
// Sørg for at intl-utvidelsen er lastet
if (!extension_loaded('intl')) {
die("Intl-utvidelsen er ikke aktivert. Vennligst aktiver den for å kjøre denne koden.");
}
function addComplexNumbers($a, $b) {
// Bruk NumberFormatter til å parse og formatere komplekse tall
$formatter = new NumberFormatter('en_US', NumberFormatter::PATTERN_RULEBASED, 'i = -1;');
// Parse komplekse tall fra strenger
$numA = $formatter->parse($a, NumberFormatter::TYPE_DOUBLE);
$numB = $formatter->parse($b, NumberFormatter::TYPE_DOUBLE);
// Utfør addisjon
$sum = $numA + $numB;
// Formater resultatet som et komplekst tall
return $formatter->format($sum);
}
echo addComplexNumbers('5+3i', '2+7i'); // Utdata: 7+10i
Dypdykk
Før ext-intl
, hadde ikke PHP innfødt støtte for komplekse tall. Utviklere brukte funksjoner eller tilpassede klassebiblioteker for å håndtere komplekse tall. Komplekse operasjoner kunne være kjedelige og feilutsatte, men ext-intl
tilbyr en internasjonalisert måte å presentere og parse komplekse tall på, som er i tråd med ICU-biblioteket.
Imidlertid, for tungvektige matematiske operasjoner, kan noen bruke eksterne biblioteker skrevet i mer mattevennlige språk (som C eller Python) og grensesnitt med dem gjennom PHP. Når det gjelder implementering, håndterer ext-intl
det bak kulissene, noe som sikrer nøyaktig aritmetikk samtidig som kompleksiteten abstraheres fra utvikleren.
Historisk sett ble komplekse tall sett ned på som ‘imaginære’, men de har siden blitt fundamentale i ulike vitenskapelige og matematiske felt, og avslører mer om deres betydning i den virkelige verden enn deres imaginære status noen gang antydet.