Wyszukiwanie elementu tablicy w innej tablicy


(Patrol) #1

Witam!

Jeśli chcemy znaleźć dany ciąg w tablicy korzystamy z in_array.

Co jeśli chcemy żeby funkcja znalazła dowolny ciąg tablicy A w tablicy B?

Istnieje coś takiego, czy trzeba samemu kombinować z taką funkcją?


(Pablo_Wawa) #2

Twoje pytanie jest mocno nieprecyzyjne - co masz na myśli pisząc dowolny oraz ciąg? W tablicy można trzymać dowolne obiekty (np. liczby, napisy, również tablice). Dowolny ciąg to np. ciąg 1-elementowy. Przy pomocy in_array() można w tablicy wyszukiwać inne tablice (całe, nie fragmenty).


(Patrol) #3

Fakt, źle sprecyzowałem.

<?php

$BlockedWS[]='google';

$BlockedWS[]='onet';

$tablica = explode(".", $_SERVER['HTTP_REFERER']);


if(! in_array($BlockedWS, $tablica))

{

echo 'Strona z której przyszedłeś nie została zablokowana';

}

Chodzi mi o mniej więcej coś takiego - lecz z in_array() to niestety nie działa.


(Grzelix) #4

http://php.net/manual/pl/function.array-intersect.php


(Patrol) #5

Działa wybornie, dzięki. Ciekawe jak wypada pod względem wydajności.