如何在数组中拆分一行?

时间:2013-05-27 09:06:50

标签: php arrays split

示例:

Array
    (
          [0] => "example.fr", "2013-08-24", "test"
          [1] => "toto.com, "2014-10-01", "test2"
    )

如何在每个逗号中拆分此数组?我想把引号中的每个单词都变成这样的变量:

    $var1= "example.fr";
    $var2= "2013-08-24";
    $var3 = "test";
....
编辑:阵列的结构很好!每个元素都用引号括起来只有一个数组!像CSV文件

6 个答案:

答案 0 :(得分:2)

除非我误解你,否则你可以访问数组元素并将它们分配给这样的变量:

$var1 = $arrayName[0][0];
$var2 = $arrayName[0][1];
$var3 = $arrayName[0][2];

如果数组每个索引保持一个字符串或者它是一个2D数组,我无法告诉你。如果它持有字符串,那么请看realshadow的答案。

答案 1 :(得分:2)

您可以使用list

array("example.fr, 2013-08-24, test")

list($var1, $var2, $var3) = explode(', ', $array[0]); // or current

答案 2 :(得分:1)

不要重新发明CSV解析器,使用现有功能。

从PHP 5.3 +:

$parsed = array_map('str_getcsv', $array);

http://php.net/str_getcsv

5.3之前:

$fh = fopen('php://temp', 'r+');

$parsed = array();
foreach ($array as $row) {
    ftruncate($fh, 0);
    fwrite($fh, $row);
    rewind($fh);
    $parsed[] = fgetcsv($fh);
}
fclose($fh);

答案 3 :(得分:0)

对阵列的每个项目使用爆炸:http://www.w3schools.com/php/func_string_explode.asp

答案 4 :(得分:0)

我不认为你的语法创建一个多维数组是正确的,请考虑这个例子:

$myArray = array( array("example.fr", "2013-08-24", "test"),
           array("toto.com, "2014-10-01", "test2")); 

现在你有一个数组数组,可以迭代每个数组。

如果您确定每个阵列中有多少项目,那么您可以将阵列分解为其成分,但如果您事先不知道而不是迭代将会看到您。

答案 5 :(得分:0)

我对结构不是很确定,但请告诉我这是你想要的,很乐意帮助你 -

<?php

$myarr = array( array("example.fr", "2013-08-24", "test"),array("toto.com", "2014-10-01", "test2"));

foreach($myarr as $breakpart)
{
echo "<pre>";     
print_r($breakpart);
}

输出 -

Array
(
    [0] => example.fr
    [1] => 2013-08-24
    [2] => test
)

Array
(
    [0] => toto.com
    [1] => 2014-10-01
    [2] => test2
)

键盘链接 - codepad.org/6S7EMldq