php - PHP explode() 函数的使用

标签 php explode

我有一个问题,我想使用 explode 函数拆分一个字符串变量,但有一个限制,想象下一个字符串变量具有下一个值:

$data = "3, 18, 'My name is john, i like to play piano'";

使用 explode 函数:explode(",", $data),输出将是:

array(
       [0] => 3,
       [1] => 18,
       [2] => 'My name is john,
       [3] => i like to play piano'
      );

我的目标是用逗号分隔变量 $data,不包括“”字符之间的逗号。

例如数组( [0] => 3, [1] => 18, [2] => '我叫约翰,我喜欢弹钢琴' );

如果有人能告诉我一个方法,我将不胜感激。

最佳答案

这看起来很像 CSV 数据。您可以使用 str_getcsv解析这个。

var_dump(str_getcsv("3, 18, 'My name is john, i like to play piano'", ',', "'"));

应该导致:

array(3) {
  [0] =>
  string(1) "3"
  [1] =>
  string(3) " 18"
  [2] =>
  string(12) "My name is john, i like to play piano"
}

您可能还想对每个数组元素应用 trim,方法是使用 array_map:

$string = "3, 18, 'My name is john, i like to play piano'";
var_dump(array_map('trim', str_getcsv($string, ',', "'")));

关于php - PHP explode() 函数的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12977840/

相关文章:

php - 使用事件语言在 Twig 中组合变量

php - 两个数据库之间的数据库关系

php - explode 和 foreach 问题

php - 在 bash 中分解文件

PHP 7.4直接替换mcrypt解密

php - 存档产品的 `<ul>` 的 Woocommerce 位置

用于从 mysql 中提取客户数据的 PHP 搜索脚本

javascript - 如何在JavaScript中将PHP的explode (';' ,$s,3) 与 s.split (';' ,3) 匹配?

PHP从第一个数字(整数) explode

PHP explode 在一行中获取特定的索引值