Jump to content
php.lv forumi

Vai ir vesels skaitlis?


mickys

Recommended Posts

is_int nosaka mainīgā tipu. Ja skaitlis ir vesels, tā atgriezīs true. Šī funkcija ļoti labi der.

Ja tu gribi pārbaudīt vai stringā ierakstītais teksts ir vesels skaitlis, tad šķiet, ka nekas labāks par preg_match nebūs. Ja nu vienīgi kāstots stringu uz integeru, un tad atpakaļ uz stringu, un tad salīdzināt ar oriģinālo stringu uz vienādību.

Link to comment
Share on other sites

ievadot 1.5 atgriež bool(false)

tagad tā, es kko nesaprotu vai kā? kas ir vesels skaitlis tādā gadījumā?

$max_results = 3;
$action = $_GET["action"];
$lpp = $_GET["lpp"];
if(isset($lpp)){
if(is_numeric($lpp))
	{
	if(is_int($lpp)){
			if($lpp>=0)
			{
			$sakt = ($lpp)*$max_results;}
			}
	}
	}

else{ $sakt = 0;
$lpp = 0;}
var_dump(is_int($lpp));//bool(false)

 

Rokas gaisā, sēžu i nesaprotu, kas ir nepareiz?

Edited by mickys
Link to comment
Share on other sites

Rokas gaisā, sēžu i nesaprotu, kas ir nepareiz?

 

Viss ir pareizi. Jo $lpp = $_GET["lpp"]; rindā tu $lpp mainīgajam piešķir stringu. Un is_int(stringa_mainīgais) vienmēr būs false.

 

Pie tam - šādi rakstīt:

$lpp = $_GET["lpp"];
if(isset($lpp)){

ir varen aplami. Vajag isset pielietot pa tiešo $_GET masīva elementam.

Link to comment
Share on other sites

Kāpēc, piešķiru mainīgajam vērtību un tad lietoju to mainīgo visur citur

Ja mainīgais nebūs definēts "lpp" elements $_GET masīvā, tad kļūdu par to (nedefinēta mainīgā lietošanu) dabūsi jau $lpp = $_GET["lpp"]; rindā, nevis nākamajā isset rindā. Jo kā var piešķirt kaut ko, kas nav definēts?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...