rekenen
Ik heb een sommetje bijv dit:
-1-23-45-6-7-89
Nu moet ik hier het antwoord van uitrekenen, maar het staat in een string!
Dit is mijn code:
($getal is de string met het sommetje)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$aantal = strlen($getal);
$aantal = $aantal - 1;
$uitkomst="";
while ($aantal>0)
{
$som="";
while (is_numeric($getal[$aantal]))
{
$som = $getal[$aantal] . $som;
$aantal = $aantal - 1;
}
if ($getal[$aantal]=="+")
{
$uitkomst = $uitkomst + $som;
$aantal = $aantal - 1;
}
elseif ($getal[$aantal]=="-")
{
$uitkomst = $uitkomst - $som;
$aantal = $aantal - 1;
}
}
echo $getal;
echo "<br>";
echo $uitkomst;
?>
$aantal = strlen($getal);
$aantal = $aantal - 1;
$uitkomst="";
while ($aantal>0)
{
$som="";
while (is_numeric($getal[$aantal]))
{
$som = $getal[$aantal] . $som;
$aantal = $aantal - 1;
}
if ($getal[$aantal]=="+")
{
$uitkomst = $uitkomst + $som;
$aantal = $aantal - 1;
}
elseif ($getal[$aantal]=="-")
{
$uitkomst = $uitkomst - $som;
$aantal = $aantal - 1;
}
}
echo $getal;
echo "<br>";
echo $uitkomst;
?>
Gewijzigd op 01/01/1970 01:00:00 door Niek van Milligen
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
SanThe schreef op 16.05.2009 17:11:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
Wat zeg je hier dan?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$aantal = strlen($getal);
$aantal = $aantal - 1;
$uitkomst="";
while ($aantal>0)
{
$som="0";
while (is_numeric($getal[$aantal]))
{
$som = $getal[$aantal] . $som;
$aantal = $aantal - 1;
}
if ($getal[$aantal]=="+")
{
$uitkomst = $uitkomst + $som;
$aantal = $aantal - 1;
}
elseif ($getal[$aantal]=="-")
{
$uitkomst = $uitkomst - $som;
$aantal = $aantal - 1;
}
}
?>
$aantal = strlen($getal);
$aantal = $aantal - 1;
$uitkomst="";
while ($aantal>0)
{
$som="0";
while (is_numeric($getal[$aantal]))
{
$som = $getal[$aantal] . $som;
$aantal = $aantal - 1;
}
if ($getal[$aantal]=="+")
{
$uitkomst = $uitkomst + $som;
$aantal = $aantal - 1;
}
elseif ($getal[$aantal]=="-")
{
$uitkomst = $uitkomst - $som;
$aantal = $aantal - 1;
}
}
?>
Dit staat in een while lus totdat hij een bepaald aantal oplossingen gevonden heeft!!! Maar hij rekent de goede antwoorden niet uit!
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Niek van Milligen
http://www.php.net/eval
Misschien dat dit meer inzicht geeft van de string array afwerking
Overigens werkt dit alleen als het om + en - gaat!
zie: Misschien dat dit meer inzicht geeft van de string array afwerking
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$strGetal = '-1-23-45-6-7-89';
$uitkomst = 0;
$strG = '';
$strLength = strlen($strGetal);
for($i=0;$i<$strLength;$i++) {
if ($strGetal[$i] == '-' || $strGetal[$i] == '+') {
if (strlen($strG)>0) {
$uitkomst += $strG;
echo $uitkomst.'<br>';
}
$strG = $strGetal[$i];
}
else {
$strG .= $strGetal[$i];
}
}
// het laatste getal verwerken
$uitkomst += $strG;
echo $uitkomst.'<br>';
?>
$strGetal = '-1-23-45-6-7-89';
$uitkomst = 0;
$strG = '';
$strLength = strlen($strGetal);
for($i=0;$i<$strLength;$i++) {
if ($strGetal[$i] == '-' || $strGetal[$i] == '+') {
if (strlen($strG)>0) {
$uitkomst += $strG;
echo $uitkomst.'<br>';
}
$strG = $strGetal[$i];
}
else {
$strG .= $strGetal[$i];
}
}
// het laatste getal verwerken
$uitkomst += $strG;
echo $uitkomst.'<br>';
?>
Overigens werkt dit alleen als het om + en - gaat!
Gewijzigd op 01/01/1970 01:00:00 door Noppes
Niek schreef op 16.05.2009 17:28:
Wat zeg je hier dan?
SanThe schreef op 16.05.2009 17:11:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
Wat zeg je hier dan?
Dit geeft het antwoord -171, dat wil je toch hebben.
SanThe schreef op 16.05.2009 17:50:
Dit geeft het antwoord -171, dat wil je toch hebben.
Niek schreef op 16.05.2009 17:28:
Wat zeg je hier dan?
SanThe schreef op 16.05.2009 17:11:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
echo eval('echo ' . $getal . ';');
?>
Wat zeg je hier dan?
Dit geeft het antwoord -171, dat wil je toch hebben.
en hoe zet ik dat antwoord dan in een variabele?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
$uitkomst = eval('echo ' . $getal . ';');
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$getal = '-1-23-45-6-7-89';
$uitkomst = eval('echo ' . $getal . ';');
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -