Php 如何从str中删除元素

Php 如何从str中删除元素,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我用数组(从BD)创建了一个字符串,该字符串看起来很糟糕: a:1:{i:0;a:7:{s:2:"id";s:1:"1";s:5:"title";s:39:"shock absorber ms 290, 310, 390";s:11:"description";s:32:"size - 8х22х29 mm.";s:3:"img";s:1:"1&q

我用数组(从BD)创建了一个字符串,该字符串看起来很糟糕:

a:1:{i:0;a:7:{s:2:"id";s:1:"1";s:5:"title";s:39:"shock absorber ms 290, 310, 390";s:11:"description";s:32:"size - 8х22х29 mm.";s:3:"img";s:1:"1";s:5:"price";s:4:"0.9$";s:8:"category";s:38:"Details";s:5:"brand";s:5:"Stihl";}}
如何删除减震器ms 290、310、390之外的所有内容。请注意,这是一个订单信函,所以substr不会有帮助,因为信函中会有更多带有不同数量符号的产品

$name = $_POST['name'];
$tel = $_POST['tel'];
$g = $_SESSION['cart_list'];
$c = serialize($g);

$title = "order";
$body = "
<h2>New order</h2>
<b>Name:</b> $name<br>
<b>Tel:</b> $tel<br><br>
<b>Cart:</b>$c<br>
";
$name=$\u POST['name'];
$tel=$_POST['tel'];
$g=$\u会话['cart\u list'];
$c=序列化($g);
$title=“订单”;
$body=”
新秩序
名称:$Name
电话:$Tel

购物车:$c
";
解决方案:

$name = $_POST['name'];
$tel = $_POST['tel'];
$g = $_SESSION['cart_list'];
$c = serialize(array_map(function($e){return $e['title'];}, $g));

谢谢你帮助我

当它是一个数组时,您需要对其进行操作,然后对其进行编码
json_encode
是一个更好的选择。您可以序列化
$\u会话['cart_list']为什么?在您这样做之前,它看起来是什么样子的?如果它确实生成了那个序列化字符串,那么您也有一个多字节字符集问题,因为这个
s:32:“size-8 imk 22 imk 29 mm。”
不是一个32字节长的字符串$_会话['cart_list'];是当前会话期间购物车中的产品。json_encode可能更好,但我的一些信件是西里尔文的,我在邮件中收到了类似:\u0410\u043c\u043e\的东西。