Een stukje tekst importeren.
Zo is het antwoord op de invoer 3xkwadraat - 2x = 6x-2
Dit rekenen lukt allemaal wel. De invoer wil ik doen door 1 textboxje. Ik moet dus elke cijfer dat voor en achter de x staat in een ander variable zetten. Iemand enig idee hoe ik dit zou kunnen doen?
MVG Gameo
Opgelost
Gewijzigd op 01/01/1970 01:00:00 door Gameo
Maar wat als er meerde x'n worden ingevoerd?
zoals
3x3-5x2+4x
ah op die manier, erm, laat me even denken :)
Je bent goed opweg, maar ik ben tegen een ander probleem opgelopen. Stel dat ik inplaats van een kleine x een grote X invoer... Dan maakt hij ook een fout. Is het niet mogelijk om meerdere tekens in een keer weg te halen met explode() ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$var = strtolower('1+3x3-5x2+4x');
for ($i = 0; $i <= (strlen($var)-1); $i++)
{
if (is_numeric($var{$i}) && !empty($var{$i}) && ($var{$i+1} == 'x' || $var{$i-1} == 'x'))
{
$getallen[] = $var{$i};
}
}
// in $getallen staan nu in een array alle getallen die aan weerszijden van een X staan
// $getallen[0] = 3
// $getallen[1] = 3
// $getallen[2] = 5
// $getallen[3] = 2
// $getallen[4] = 4
?>
$var = strtolower('1+3x3-5x2+4x');
for ($i = 0; $i <= (strlen($var)-1); $i++)
{
if (is_numeric($var{$i}) && !empty($var{$i}) && ($var{$i+1} == 'x' || $var{$i-1} == 'x'))
{
$getallen[] = $var{$i};
}
}
// in $getallen staan nu in een array alle getallen die aan weerszijden van een X staan
// $getallen[0] = 3
// $getallen[1] = 3
// $getallen[2] = 5
// $getallen[3] = 2
// $getallen[4] = 4
?>
Gewijzigd op 01/01/1970 01:00:00 door - wes -
Super bedankt
Gewijzigd op 01/01/1970 01:00:00 door gameo
Kan ik in de formule 2x-3x4+5x6 achter de 2x een waarde invullen, bijvoorbeeld Z want nu geeft hij
// $getallen[0] = 2
// $getallen[1] = -3
terwijl $getallen[1] bedoelt is voor de machtsfunctie van de eerste x.
Snap je wat ik bedoel?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$var = strtolower('1+3xz-5x2+4x');
for ($i = 0; $i <= (strlen($var)-1); $i++)
{
if ((is_numeric($var{$i}) || is_string($var{$i})) && !empty($var{$i}) && ($var{$i+1} == 'x' || $var{$i-1} == 'x'))
{
$getallen[] = $var{$i};
}
}
// in $getallen staan nu in een array alle getallen die aan weerszijden van een X staan
// $getallen[0] = 3
// $getallen[1] = z
// $getallen[2] = 5
// $getallen[3] = 2
// $getallen[4] = 4
?>
$var = strtolower('1+3xz-5x2+4x');
for ($i = 0; $i <= (strlen($var)-1); $i++)
{
if ((is_numeric($var{$i}) || is_string($var{$i})) && !empty($var{$i}) && ($var{$i+1} == 'x' || $var{$i-1} == 'x'))
{
$getallen[] = $var{$i};
}
}
// in $getallen staan nu in een array alle getallen die aan weerszijden van een X staan
// $getallen[0] = 3
// $getallen[1] = z
// $getallen[2] = 5
// $getallen[3] = 2
// $getallen[4] = 4
?>
Gewijzigd op 01/01/1970 01:00:00 door - wes -
Nee srry, Ik bedoel dat $var = "1+3x-5x2+4" en dat die word omgezet in "1+3xZ-5x2+4"
doe anders evne een voorbeeldje
Vb:
3x ==> 3xZ
Geeft $getallen[0] = "3"
en $getallen[1] = "Z"
En 3x+2x3 ==> 3xZ+2x3
Geeft $getallen[0] = "3"
en $getallen[1] = "Z"
en $getallen[2] = "2"
en $getallen[3] = "3"
Het gaat mij erom dat iedere keer $getallen[1] dezelfde plaats aan geeft.
EDIT:anders zou $getallen[1] in het tweede voorbeeld "2" zijn. En $getallen[2] zou dan "3" zijn
Gewijzigd op 01/01/1970 01:00:00 door gameo
Het is dus de bedoeling dat ik een teken invoer, in dit geval Z wat netzogoed Y had kunnen zijn op de plaats waar geen cijfer staat tussen de X en de + of min
Kan iemand mij helpen? Als je niet begrijpt wat ik bedoel hoor ik dat graag!
Bestaat er misschien een functie om iets in te voegen in een al bestaand variable? Dan kan ik het misschien zelf wel proberen
De functie om iets om te toveren is: str_replace()