【问题标题】:How to delete elements from str如何从字符串中删除元素
【发布时间】:2025-12-24 07:05:11
【问题描述】:

我从数组(来自 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>
";

【问题讨论】:

  • 您想在它是一个数组时对其进行操作,然后对其进行编码。 json_encode 是更好的选择。
  • 你连载$_SESSION['cart_list']; 为什么?在你这样做之前它是什么样子的
  • 如果它真的生成了那个序列化的字符串,那么你也有一个多字节字符集问题,因为这个 s:32:"size - 8х22х29 mm." 不是一个 32 字节长的字符串
  • $_SESSION['cart_list'];是当前会话期间购物车中的产品。 json_encode 可能更好,但我的一些字母是西里尔字母,我收到类似:\u0410\u043c\u043e\ in mail.

标签: php mysql phpmyadmin


【解决方案1】:

解决方案:

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

感谢您尝试帮助我!

【讨论】: