php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.07.2005, 02:35  
Mex
Benutzer
 
Registriert seit: 17.11.2003
Beiträge: 66
Mex
Standard Quadratzahlen

Das Script sollte mir alle Quadratzahlen bis zu einer gewissen Zahl auflisten, aber es zeigt keine an. Was ist falsch an dem Script?

PHP-Code:
<?php

if ($_POST['bis']) {
    echo 
'<form name="zaehlen" method="post" action="'.$_PHP['self'].'">';
    echo 
'<input type="hidden" name="bis" value="">';
    echo 
'<input type="submit" name="los" value="Nochmal">';
    echo 
'</form>';

    
$i 1;
    while (
$i <= $_POST['bis']) {
        if (
is_int(sqrt($i))) {
            echo 
$i.'
'
;
        }
        
$i++;
    }
}
else {
    echo 
'<form name="zaehlen" method="post" action="'.$_PHP['self'].'">';
    echo 
'<input type="text" name="bis">';
    echo 
'<input type="submit" name="los" value="Zählen">';
    echo 
'</form>';
}

?>
Mex ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.07.2005, 03:54  
Gast
 
Beiträge: n/a
Standard

Wo hast Du denn $_PHP['self'] her? $_SERVER['PHP_SELF']
Lass Dein Skript mal mit
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'true);

// ...
?>
beginnen.


Und was ist das?
Zitat:
if (is_int(sqrt($i))) {
echo $i.'
';
}
Was soll es tun und was tut es wirklich?
 
Alt 05.07.2005, 10:50  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sqrt -> square root -> wurzel -> selten integer.
pow($x,2) -> power -> potenz -> das was du suchst.

http://www.php.net/pow
axo ist offline  
Alt 05.07.2005, 17:50  
Gast
 
Beiträge: n/a
Standard

ja und nein (glaube ich zumindest).
So wie ich das Programm verstehe, soll eine Zahl eingegeben werden, z.B. 10, und dann sollen alle Zahlen von 1 bis 10 ausgegeben werden, die eine Quadratzahl sind, also 1, 4 und 9.
Das ist zwar von hinten durch die Brust ins Auge, _könnte_ aber funktionieren.
Nur leider gibt sqrt() immer einen float/double zurück, und deshalb gibt is_int immer false zurück
PHP-Code:
<?php
$d 
sqrt(4);
$b is_int($d);
var_dump($d);
echo 
"
\n"
;
var_dump($b);
?>
Zitat:
float(2)


bool(false)
Einfacher ist es andersherum vorzugehen:
PHP-Code:
<?php
$bis 
10;

$i=1;
$q 1;

do
{
    echo 
$q"
\n"
;
    
    
$i+=1;
    
$q $i*$i;
}while(
$q <= $bis);
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php quadratzahl, php quadratzahlen, quadratzahlen ausgeben php, quadratzahlen ausgeben lassen php, quadratwurzel plsql, php alle quadratzahlen, php quadratzahl ausgeben, quadratzahl php, echo quadratzahlen php, quadratzahl in php, php quadratzahlen ausgeben, quadratzahlen code html, php while quadratzahlen, quadratzahlen php, quadratzahlen in php, $_php[\'self\']

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.