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í.

Diskuze: vložení stringu do existujícího řádku v databázi

Aktivity
Avatar
Pavel Soukup
Člen
Avatar
Pavel Soukup:14.5.2018 22:53

Ahoj, mám problém ohledně vkládání stringů do již existujících řádků v databázi. Redaktor na této stránkce mi poradil toto pro porovnání dvou stringů a vyhození takové hodnoty, která není obsažena v porovnávacím stringu a to stringů:

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";}

a

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

zde je kód od redaktora:

preg_match('~{(­.?)}~', $result, $m);
preg_match('~{(­.
?)}~', $plugin, $m2);
$e = explode(';', $m[1]);
$e2 = explode(';', $m2[1]);

$a = [];
foreach($e as $v){
if(!in_array($v, $e2)){
$a[] = $v;
}
}

var_dump($a);

což vyhodí:

array(2) { [0]=> string(15) "s:9:"hello.php"" [1]=> string(3) "i:1" }

což je to co potřebuji uložit do tohoto stringu:

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";}

a to takovým způsobem, aby výstup byl:

a:5:{i:0;s:19­:"akismet/akis­met.php";i:1;s:­9:"hello.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";}

nevíte jak tohoto docílit?
Pokud ano tak vám budu vděčný.

Děkuji. Jakub Štolba.

 
Odpovědět
14.5.2018 22:53
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:15.5.2018 8:13

Ten zapis vypada jako json nebo serialize. Nevim, proc si nedas rici a vrhas se na mene spolehlive reseni s explode a preg. Zajimavy paradox. Pri kopirovani ctrl+c /v mi do stringu dal jakesi '-' znaky, takze pak to neslo dekodovat v online dekoderech.
http://php.fnlist.com/php/unserialize
http://php.fnlist.com/php/json_decode
php.net/serialize
php.net/json-decode
php.net/jsonSe­rialize

https://stackoverflow.com/…-unserialize
Tady maji podle prikladu, ze by se melo jednat prave o serialize. Ale ten dekoder se mne nechyta
http://freeonlinetools24.com/unserialize.

<?php
$str = 'a:5:{i:0;s:19:"akismet/akismet.php";i:1;s:9:"hello.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";}';
$arr = unserialize($str);
var_export($arr);
?>

array ( 0 => 'akismet/akismet.php', 1 => 'hello.php', 2 => 'plugincleaner/pluginCleaner.php', 3 => 'stolba/stolba.php', 4 => 'wp-super-cache/wp-cache.php', )
Editováno 15.5.2018 8:14
 
Nahoru Odpovědět
15.5.2018 8:13
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.