Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]weryfikowanie zawartości treści w zmiennej
bleze
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 1.01.2007

Ostrzeżenie: (10%)
X----


Utworzyłem tablicę:
  1. <?php
  2. $array = array( "psa", "kota", "krowę");
  3. ?>

I zmienną $wer:
  1. <?php
  2. $wer = "Ala ma kota"
  3. ?>

I chciałbym teraz sprawdzić czy któryś z elementów z tablicy array występuje w łańcuchu zmiennej $wer. Jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




~kefirek, nie wiem, czy wiesz, ale jeśli zaglądałeś do manuala, to pewnie zauważyłeś, że array_search" title="Zobacz w manualu PHP" target="_manual może zwrócić zero, które przy rzutowaniu na bool zwraca false. Stąd, jeśli szukana znajduje się na zerowej pozycji, to warunek nie jest spełniony, a powinien być.

  1. <?php
  2. $arr = array('psa', 'kota', 'krowę');
  3.  
  4. $str = 'Ala ma kota';
  5. $str = explode(' ', $str);
  6.  
  7. $found = array();
  8.  
  9. foreach($str as $x){
  10.   if(array_search($x, $arr)!==false){
  11.      $found[] = $x;
  12.   }
  13. }
  14. ?>
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Cytat(erix @ 16.01.2009, 22:18:40 ) *
~kefirek, nie wiem, czy wiesz, ale jeśli zaglądałeś do manuala, to pewnie zauważyłeś, że array_search" title="Zobacz w manualu PHP" target="_manual może zwrócić zero, które przy rzutowaniu na bool zwraca false. Stąd, jeśli szukana znajduje się na zerowej pozycji, to warunek nie jest spełniony, a powinien być.

  1. <?php
  2. $arr = array('psa', 'kota', 'krowę');
  3.  
  4. $str = 'Ala ma kota';
  5. $str = explode(' ', $str);
  6.  
  7. $found = array();
  8.  
  9. foreach($str as $x){
  10.  if(array_search($x, $arr)!==false){
  11.     $found[] = $x;
  12.  }
  13. }
  14. ?>




Oj bo się pomyliłem zdarza się
Powinno być tak działa na 100% i jak słowo zawiera wykrzyknik to także znajduje go


  1. <?php
  2. $array = array('psa', 'kota', 'krowę');
  3. $wer = 'Ala ma kota';
  4.  
  5. $wyrazy = explode(' ', $wer);
  6. $tab = array();
  7. foreach ($wyrazy AS $wynik) {
  8. if (in_array($wynik, $array)) { $tab[] = $wynik;}
  9. }
  10.  
  11. echo 'Znaleziownych '.count($tab).'<br>';
  12. foreach ($tab AS $znalezione) {
  13. echo $znalezione.'<br>';
  14. }
  15. ?>


Ten post edytował kefirek 17.01.2009, 08:52:43
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 01:54