donkeyMedlem sedan jan. 2004179 inlägg Har en variabel ($antal) som jag skulle vilja ta ruten ur och se om svaret är ett heltal och på något sätt integrera det i en if-sats, ex
om roten ur $antal är ett heltal visas 'Ok' annars visas 'Fel'.
Har klurat fram och tillbaka, men får inte riktigt till det, förslag?
Edit: Okej, roten ur får jag med hjälp av sqrt(), men problemet kvarstår hur jag ska se om detta är ett heltal eller inte...
aronMedlem sedan mars 2004485 inlägg Jag kan inget om PHP men jag gissar:
Använd denna funktion för att räkna ut roten:
http://se2.php.net/manual/en/function.sqrt.php
Och denna för att kolla resten när du delar med 1(edit: ska vara lika med 0):
http://se2.php.net/manual/en/function.fmod.php
donkeyMedlem sedan jan. 2004179 inlägg jag var mer inne på funktionen is_int... någon annan som vet?
Fortsätter prova mej fram... :p
MatteMedlem sedan aug. 20002 975 inlägg is_int() ger sant på 1 men falskt på '1', så jag skulle rekommendera ett regexp:
if (preg_match("/^[1-9][0-9]*$/", $var)) {
// Är heltal
}
aronMedlem sedan mars 2004485 inlägg Du måste väl använda en variabel som inte är en Integer för att ta roten ur på den, annars så får du alltid heltal som svar (om det finns en sån roten ur funktion). Jag tror inte att det omvandlas till en heltals variabel bara för att dess värde är ett heltal.
Så här tänker alltså jag: (edit funkar, jag lyckades testa :) )
<?php
$x = 9;
if (fmod(sqrt($x), 1) == 0) {
echo "True";
} else {
echo "False";
}
?>
edit: Det funkade inte med %
donkeyMedlem sedan jan. 2004179 inlägg kung Matte! Fungerar klockrent, tack!