解析包含逗号分隔和引号字符串的数组元素以生成新的元素数组

问题描述 投票:0回答:4

现在我的数组正在存储类似的值

Array([0] => "Aaa", "bbb", "ccc")

如何使用 PHP 制作如下数组

Array[0] = "Aaa", Array[1] = "bbb", Array[2] = "ccc"

如何制作这样的。我尝试爆炸它没有正确获取值。

php arrays split text-parsing
4个回答
4
投票
$oldarray[0]='"abc","def","hij"';
$oldarray[1]='"abc","def","hij"';
$newarray=array();
foreach ($oldarray as $value) {
    $newarray[] = str_replace('"','',explode(',',$value));
    //print_r($value);die();
}
print_r($newarray);

3
投票

使用

explode

返回一个字符串数组,每个字符串都是字符串的子字符串,该子字符串是通过字符串分隔符逗号形成的边界分割而成的。

$array1 = explode(',',$array[0]);

使用

str_replace
删除双引号

 str_replace('"', '', $array[0]);
 $array1 = explode(',',str_replace('"', '',$array[0]));

检查

array1[0]
array1[1]
array1[2]
以找到您的值


3
投票

使用

explode
根据逗号将值拆分为多个值,使用 str_replace 删除引号 :

你做了这样的事情

$newarray = explode(',',str_replace('"', "",$oldarray[]));

或:

$newarray = explode('","',trim($oldarray[],'"'));

文档


0
投票

在常规格式的 csv 字符串中有引号包裹的值——有一个本地工具可以解析它。如果您愿意,请在第一个元素上调用

str_getcsv()
并将其保存回原始数组变量。

代码:(演示

$array = ['"Aaa", "bbb", "ccc"'];

$array = str_getcsv($array[0]);

var_export($array);

输出:

array (
  0 => 'Aaa',
  1 => 'bbb',
  2 => 'ccc',
)
© www.soinside.com 2019 - 2024. All rights reserved.