mickys Posted June 28, 2009 Report Posted June 28, 2009 Vajag noteikt to, vai ir vesels skaitlis, is_int() f-ja neder, kādu vēl meklēt?
bubu Posted June 28, 2009 Report Posted June 28, 2009 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.
mickys Posted June 28, 2009 Author Report Posted June 28, 2009 (edited) 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 June 28, 2009 by mickys
bubu Posted June 28, 2009 Report Posted June 28, 2009 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.
mickys Posted June 28, 2009 Author Report Posted June 28, 2009 Kāpēc, piešķiru mainīgajam vērtību un tad lietoju to mainīgo visur citur
bubu Posted June 28, 2009 Report Posted June 28, 2009 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?
Recommended Posts