Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> preg_match_all(), i rozbicie rownania
Bastion
post
Post #1





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


Przypuscmy ze mam $rownanie = "sin(40) + cos(30) * tan(20)"

jak powinna wyglada formula preg_math_all() aby uzyskac tablice :

[0][0] = sin
[0][1] = 40
[1][0] = cos
[1][1] = 30
[2][0] = tan
[2][1] = 20

?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2.  
  3. $rownanie = &#092;"sin(40) + cos(30) * tan(20)\";
  4.  
  5. preg_match_all( '#([a-z]{1,3})(([0-9]+))#si', $rownanie, $matches );
  6.  
  7. print_r( $matches );
  8.  
  9. for ($i=0; $i< count($matches[0]); $i++) {
  10.  print_r( $matches[0][$i], true );
  11.  
  12. }
  13. ?>


Kod
Array
(
    [0] => Array
        (
            [0] => sin(40)
            [1] => cos(30)
            [2] => tan(20)
        )

    [1] => Array
        (
            [0] => sin
            [1] => cos
            [2] => tan
        )

    [2] => Array
        (
            [0] => 40
            [1] => 30
            [2] => 20
        )

)


Ruszyc glowa :-)

A co do tego tan mysalem ze chcesz to tak jak w szkole sie zapisuje ;-)
Btw:
Moze uda Ci sie to szybciej rozwiazac
eval" title="Zobacz w manualu PHP" target="_manual()
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:28