Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Pavel Soukup
Člen
Avatar
Pavel Soukup:13.5.2018 19:08

Ahoj, mám problém ohledně porovnávání řetězců. Potřeboval bych porovnat dva řetězce z databáze, vyhodit jestli jsou stejné nebo ne a pokud nebudou stejné tak vyhodit ty hodnoty, které nejsou obsaženy v jednom nebo druhém řetězci. např.

co tento řetězec:

a:4:{i:0;s:19­:"akismet/akis­met.php";i:2;s:­31:"plugincle­aner/pluginCle­aner.php";i:3;s:­17:"stolba/stol­ba.php";i:4;s:­27:"wp-super-cache/wp-cache.php";}

neobsahuje z tohoto řetězce:

a:2:{i:0;s:9:­"hello.php";i:1;s:­31:"plugincle­aner/pluginCle­aner.php";}

a vyhodit pouze toto i:0;s:9:"hello­.php"; jako výsledek.

Pokud někdo ví jak na to, budu velmi rád :) Děkuju.

Jakub Štolba

 
Odpovědět
13.5.2018 19:08
Avatar
Odpovídá na Pavel Soukup
Uživatel sítě :13.5.2018 20:24
<?php
$s = 'a:4:{i:0;s:19:"akismet/akismet.php";i:2;s:31:"plugincleaner/pluginCleaner.php";i:3;s:17:"stolba/stolba.php";i:4;s:27:"wp-super-cache/wp-cache.php";}';
$s2 = 'a:2:{i:0;s:9:"hello.php";i:1;s:31:"plugincleaner/pluginCleaner.php";}';

preg_match('~{(.*?)}~', $s, $m);
preg_match('~{(.*?)}~', $s2, $m2);
$e = explode(';', $m[1]);
$e2 = explode(';', $m2[1]);

$a = [];
foreach($e2 as $v){
  if(!in_array($v, $e)){
    $a[] = $v;
  }
}
var_dump($a);  //array(2) { [0]=> string(17) "s:9:"hello.php"" [1]=> string(3) "i:1" }
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
13.5.2018 20:24
Chybami se člověk učí, běžte se učit jinam!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.