[PHP] Szukanie czy znaki występują

Witam

Mam zmienną

$zmienna = “abcdefghijklmnopqrst”;

i mam drugą zmienną

$szukane = “auhj”;

i w $zmienna są litery a, h, j, ale nie ma u

Skrypt sam dodaje do $zmiennej tylko litere u.

Jak to zrobić ?

Jakieś zadanie domowe? :slight_smile:

W skrócie. Potrzebujesz dwie pętle. W pierwszej iterujesz sobie $szukane, a w drugiej iterujesz $zmienna i porównujesz każdy znak z bieżącym znakiem z $szukane. Jak znajdziesz, przerywasz bieżąca iterację w wewnętrznej pętli. Jak nie to dopisujesz bieżący znak $szukane do $zmienna.

Oczywiście można do zrobić używając gotowych funkcji PHP. Tych poszukaj w manualu.

zrobiłem coś takiego i działa, tylko teraz nie wiem jak zrobić, żeby od $explode[5] odejmowało te flagi, które są $flagisa

$ilosc_flag = strlen($explode[5]);

	echo "ciag ma ".$ilosc_flag." flag
";


	echo 'On juz ma flagi:
';

	for ($i2 = 1; $i2 <= $ilosc_flag; $i2++) {

    $flagi2[$i2] = $explode[5][$ilosc_flag-$i2];

	echo $flagi2[$i2]."
";

    }


	$ilosc_flag2 = strlen($dodaj_flagi);

	echo 'Mam dodac flagi:
';

	for ($i3 = 1; $i3 <= $ilosc_flag2; $i3++) {

    $dodac2[$i3] = $dodaj_flagi[$ilosc_flag2-$i3];

	echo $dodac2[$i3]."
";

    }


	for ($i = 1; $i <= $ilosc_flag; $i++) {

	for ($i4 = 1; $i4 <= $ilosc_flag2; $i4++) {

	//echo $flagi2[$i].' - '.$dodac2[$i4].'
';

    if($flagi2[$i] == $dodac2[$i4]) {

	echo 'Jest flaga '.$dodac2[$i4].'
';

	$flagisa = $dodac2[$i4].$flagisa;

	}


	}

	}

	echo 'Flagi, które są '.$flagisa;

jeśli założenie jest takie, że końcowy string zawiera unikalne znaki to można to zapisać tak:

$zmienna = "abcdefghijklmnopqrst";

$szukane = "auhj";


$a = str_split($zmienna);

$b = str_split($szukane);

$zmienna = implode(array_unique(array_merge($a, $b));

dzięki wielkie dokładnie o to mi chodziło :slight_smile: